python pandas groupby 关于分类变量

标签 python python-2.7 pandas dataframe group-by

这是我的数据框的样子:

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

enter image description here

我想按设施 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/

相关文章:

python - Pandas :过滤值出现在对的两端,但不在组内

python - 聚合并替换 pandas 中的行

python - 使用来自不同模块的 python 装饰器函数

python - Pandas 数据框 | groupby 绘图 |堆叠图和并排图

python - 通过循环追加 Python 字典列表

python - 可以使用字符串来引用对象属性吗?

python - PyQT 将一个窗口与另一个 PyQT 窗口连接/拖动... - 相同的程序

django - 在 Python 2.7 中使用 unicode_literals 时在 Django 中解码 utf-8

json - 如何将 Pandas 系列转换为所需的 JSON 格式?

python - 如何在 python pandas 中引用其他数据框创建新列