首页 > 解决方案 > 如何在熊猫中按函数获取平均值

问题描述

我需要从不同数据框中的某些列中获取基本统计值,例如mean(), 。var()std()

我想通过创建一个函数来做到这一点,然后将其应用于我的数据框。我试图以两种方式做到这一点:为列和数据框创建一个函数。

def stat (column):
    mu=column.mean()
    return mu

data['column'].apply(stat)

def stat (dataframe):
    mu=dataframe['column'].mean()
    return mu

data.apply(stat,axis=1)

在这两种情况下,我都会收到错误 AttributeError: ("'float' object has no attribute 'mean'", 'occured at index 0') 如何构建这样的函数来获取我需要的值?我会感谢任何帮助。

标签: pythonpandasdata-analysis

解决方案


正如 SH-SF 在他的评论中所说,正如 Bob 在答案中所说,您可以使用它df['column'].mean()来获取列的平均值。注意这里df['column']是熊猫系列。您还可以通过使用它来获取数据框的几列或所有列的平均值,df.mean()这将为数据框的每一列提供平均值。现在您还可以使用df.mean(axis=1)来获取“水平平均值”,即每行的平均值。当然,所有值都必须是数字类型,如果你明白我的意思,它需要……有意义。


推荐阅读