我目前正在关注大熊猫的Wes McKinneys教程,我想知道是否有可能在其中做某件事。我将通过一个例子来解释这个问题: 我有一个数据框:
A B C
0 1 foo data1
1 5 foo2 data2
2 8 foo3 data3
3 6 foo data4
4 5 foo3 data5
5 3 foo2 data1
我想将之前的数据框架转换为如下所示的新数据:
data1 data2 data3 data4 data5
foo 1 0 0 6 0
foo2 3 5 0 0 0
foo3 0 0 8 0 5
另外,我不能两次使用相同的foo-data组合,所以我不关心覆盖值。
大熊猫有可能吗?
答案 0 :(得分:5)
您可以转动原始数据框df
,为索引,列和值设置正确的值。
a = df.pivot_table(index='B',columns='C',values='A').fillna(0)
fillna(0)
将NaN
替换为0
个值。
C data1 data2 data3 data4 data5
B
foo 1 0 0 6 0
foo2 3 5 0 0 0
foo3 0 0 8 0 5