Skip to main content
 首页 » 编程设计

python之Pandas 改变数据帧结构

2025年05月04日31jyk

我目前正在关注 Wes McKinney 的 Pandas 教程,我想知道是否可以在其中做某事。我将用一个例子来解释这一点: 我有一个数据框:

    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 组合,所以我不关心覆盖值。

这对 Pandas 来说可能吗?

请您参考如下方法:

您可以旋转原始数据框 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