繁体   English   中英

将列数据从一个数据帧转置到另一个数据帧

[英]Transpose column data from one dataframe to another

我有一个数据帧df1 ,头部看起来像(实际数据帧更大):

     Quarter    Body    Total requests  Requests Processed  
  0  Q3 2019       A                93                  92  
  1  Q3 2019       B               228                 210  
  2  Q3 2019       C               180                 178  
  3  Q3 2019       D                31                  31  
  4  Q3 2019       E               555                 483  
  5  Q2 2019       A                50                  50  
  6  Q2 2019       B               191                 177  
  7  Q2 2019       C               186                 185  
  8  Q2 2019       D                35                  35  
  9  Q2 2019       E               344                 297

我有另一个数据帧df2 ,目前设置如下:

 Body   Q2 2019 Q3 2019
0   A   
1   B   
2   C   
3   D   
4   E   

我正在尝试找到一种方法将列Total requestsdf1转换为df2因此我想要的输出如下所示:

  Body  Q2 2019 Q3 2019
0    A       50      93
1    B      191     228
2    C      186     180
3    D       35      31
4    E      344     555

我已经很好地环顾四周,但没有成功就找不到。

您可以将 df1 帖子设置BodyQuarter unstack为 index ,然后与 df2 合并(如果使用 df2 很重要,否则它无需合并即可工作):

df2.merge(df1.set_index(['Body','Quarter'])['Total requests'].unstack(),
      left_on='Body',right_index=True,how='left',
      suffixes=('_x','')).reindex(df2.columns,axis=1)

  Body  Q2 2019  Q3 2019
0    A       50       93
1    B      191      228
2    C      186      180
3    D       35       31
4    E      344      555

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM