首页 > 解决方案 > 如何在一列相同的熊猫数据框中执行两个聚合操作?

问题描述

我在 pandas 数据框中有一列,我想在同一结果中找出列的最小值和最大值。但问题是我只得到一个汇总值作为回报。

import pandas as pd
print(df)

col1 col2
5    9
6    6
3    4
4    3

df.agg({'col1':'sum','col1':'mean'})

此聚合的输出仅给出均值:

col1    4.5
dtype: float64

但是,我需要的输出应该同时具有 col1 的总和和均值,而我只是变得卑鄙。

标签: pythonpandasaggregate

解决方案


试试下面的代码:

import pandas as pd
from io import StringIO
content= """col1 col2
            5    9
            6    6
            3    4
            4    3
            """
df=pd.read_csv(StringIO(content),sep='\s+')
df.agg({"col1":["sum","mean"],"col2":"std"})

如果要在一列中应用多个函数,则必须使用 list,否则 col1 后面的函数将替换前者。如果您想为不同的列应用多个函数,只需在 agg 函数中使用 dict 即可。


推荐阅读