熊猫:为每个唯一的行获取一个新列

时间:2021-04-18 21:00:51

标签: python pandas dataframe count

我有一个 Pandas DF,格式如下:

df:

<头>
姓名 功能 计数
A aa 2
A bb 1
B bb 3
B 抄送 1
C dd 2

我想将 DF 转换成这样:

<头>
姓名 特征 aa 功能bb 功能抄送 功能dd
A 2 1 0 0
B 0 3 1 0
C 0 0 0 2

(单元格现在是与名称和特征相关的计数)。

我怎样才能得到这个结果? 拜托,我需要你的帮助。

1 个答案:

答案 0 :(得分:2)

试试.pivot()

print(
    df.pivot(index="Name", columns="Feature", values="Count")
    .fillna(0)
    .add_prefix("Feature ")
    .astype(int)
    .reset_index()
)

打印:

Feature Name  Feature aa  Feature bb  Feature cc  Feature dd
0          A           2           1           0           0
1          B           0           3           1           0
2          C           0           0           0           2