我一直在读pd.stack
、pd.unstack
和pd.pivot
,但我不能把我想做的事放在心上
给定如下数据帧
id1 id2 id3 vals vals1
0 1 a -1 10 20
1 1 a -2 11 21
2 1 a -3 12 22
3 1 a -4 13 23
4 1 b -1 14 24
5 1 b -2 15 25
6 1 b -3 16 26
7 1 b -4 17 27
我想得到以下结果
id1 id2 -1_vals -2_vals ... -1_vals1 -2_vals1 -3_vals1 -4_vals1
0 1 a 10 11 ... 20 21 22 23
1 1 b 14 15 ... 24 25 26 27
它有点像一个带轴心的groupby,列id3
被分散成行,其中新的列名是原始列和id3
值的相应串联
编辑:可以保证perid1
+id2
id3
是唯一的,但是一些组的id1
+id2
将具有不同的id3
-在这种情况下,可以将NaN
放在那里
用^{} 和^{} 以及^{} 表示列中的
MultiIndex
,然后用f-string
的列表理解将其展平:相关问题 更多 >
编程相关推荐