我有一个数据帧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 requests
从df1
转置为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 post 设置Body
并Quarter
为索引,然后与 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