我有这个数据集:

        Players       Material_bough
1         X1                Wood
2         X2                Iron
3         X1                Stone


我想创建一个新列,显示玩家购买的材料总数。

        Players       Material_bough         Material_total
1         X1                Wood                  2
2         X2                Iron                  1
3         X1                Stone                 2


由于木材+石材= 2种材料。

我想我应该使用groupby但不知道如何。

最佳答案

我认为它与计数Players相同,但未按transform进行汇总:

df['Material_total'] = df.groupby('Players')['Material_bough'].transform('size')


要么:

df['Material_total'] = df.groupby('Players')['Material_bough'].transform('count')

关于python - 根据条件创建列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46503417/

10-12 21:57