如何在同一数据帧的一列中执行两个聚合操作?

2024-04-25 18:01:11 发布

您现在位置:Python中文网/ 问答频道 /正文

在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的和和和平均值,我只得到平均值。你知道吗


Tags: 数据importpandasdfasmeanaggcol2
1条回答
网友
1楼 · 发布于 2024-04-25 18:01:11

请尝试以下代码:

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。你知道吗

相关问题 更多 >