假设我们有一个类似于以下 6 列的数据框
C1 C2 C3 A B C
x y z 10 5 1
r s t 0 0 0
u v z 1 0 0
我希望将其转换以获得以下结果:
C1 C2 C3 P V
x y z A 10
x y z B 5
x y z C 1
u v z A 1
我认为可以通过旋转数据框来获得这个结果,但我很难实现这一点。如何使用 pivot_table
或 pivot
来完成此转换?
最佳答案
pd.melt(df, 'C1 C2 C3'.split(), list('ABC'), 'P', 'V').query('V != 0')
C1 C2 C3 P V
0 x y z A 10
2 u v z A 1
3 x y z B 5
6 x y z C 1
关于python - 旋转子数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41884440/