我想要一个新列“group_count”。这在 中向我显示了该属性总共出现了多少组。
Group Attribute group_count
0 1 10 4
1 1 10 4
2 1 10 4
3 2 10 4
4 2 20 1
5 3 30 1
6 3 10 4
7 4 10 4
我尝试对组和属性进行分组,然后使用计数进行转换
df["group_count"] = df.groupby(["Group", "Attributes"])["Attributes"].transform("count")
Group Attribute group_count
0 1 10 3
1 1 10 3
2 1 10 3
3 2 10 1
4 2 20 1
5 3 30 1
6 3 10 1
7 4 10 1
但它不起作用
最佳答案
将 DataFrameGroupBy.nunique
与 transform
一起使用:
df['group_count1'] = df.groupby('Attribute')['Group'].transform('nunique')
print (df)
Group Attribute group_count group_count1
0 1 10 4 4
1 1 10 4 4
2 1 10 4 4
3 2 10 4 4
4 2 20 1 1
5 3 30 1 1
6 3 10 4 4
7 4 10 4 4
关于pandas - 新列中的组计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57902538/