这是我的数据框的样子:
df = pd.DataFrame([
['01', 'aa', '1+', 1200],
['01', 'ab', '1+', 1500],
['01', 'jn', '1+', 1600],
['02', 'bb', '2', 2100],
['02', 'ji', '2', 785],
['03', 'oo', '2', 5234],
['04', 'hg', '5-', 1231],
['04', 'kf', '5-', 454],
['05', 'mn', '6', 45],
], columns=['faculty_id', 'sub_id', 'default_grade', 'sum'])
df
我想按设施 ID 进行分组,忽略 subid,汇总总和,并为每个设施 ID 分配一个 default_grade。怎么做?我知道如何按设施 ID 和聚合总和进行分组,但我不确定如何将 default_grade 分配给每个设施。
非常感谢!
最佳答案
您可以使用字典语法在分组中按列应用不同的函数。
df.groupby('faculty_id').agg({'default_grade': 'first', 'sum': 'sum'})
关于python pandas groupby 关于分类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39043832/