我的数据框如下所示:
现在我想按列['name', 'grade']分组,并执行count(),结果如下所示:
df.groupby(['姓名', '成绩'], as_index=False).count()
但我想要的应该是这样的:
最佳答案
尝试使用转换
:
dict = {"year": [2010, 2011, 2012, 2010, 2011],
"name": ["kelly", "kelly", "kelly", "peter", "peter"],
"grade": ["A", "A", "C", "B", "B"] }
import pandas as pd
df = pd.DataFrame(dict)
print(df)
grp = df.groupby(['name', 'grade'], as_index=False)
print(grp.count())
df['count'] = grp['year'].transform('count')
print(df)
关于Python:如何在不聚合数据帧的情况下进行分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59486029/