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


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

如果有人可以提供一些帮助,将不胜感激。

谢谢

最佳答案

您可以unstack在df1中将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

关于python - 将列数据从一个数据帧转置到另一数据帧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59748391/

10-12 04:59
查看更多