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



我有一个数据帧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

我环顾四周,但没有成功就找不到。

你可以unstackdf1 post 设置BodyQuarter为索引,然后与 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

最新更新