如何遍历熊猫中的唯一值并计算关联值的频率

时间:2020-02-02 09:37:16

标签: python pandas

我有一个数据框,其中包含两列数据,如下图所示,并且我添加了与3种“类型”中的每一种相对应的三列。

enter image description here

我的目标如下:对于每个唯一的“ ID”,我想统计/计算通过df发生的“类型”的数量,并将此值添加到相应的列中。

使用以下行,我可以生成每个“类型”值的计数,但是我不确定如何遍历每个唯一的“ ID”,然后将“类型”计数添加到新列中。

df.groupby('ID')['Type'].value_counts()

谢谢

1 个答案:

答案 0 :(得分:1)

Series.unstackDataFrame.join的输出重塑到ID列的原始位置:

df1 = df.join(df.groupby('ID')['Type'].value_counts().unstack(fill_value=0), on='ID')

或将crosstabjoin一起使用:

df1 = df.join(pd.crosstab(df['ID'], df['Type']), on='ID')