pandas 使用python上的内置函数创建一个计算不带out的平均值的函数

biswetbf  于 2023-02-11  发布在  Python
关注(0)|答案(2)|浏览(96)

嗨,我正在尝试创建一个函数,它可以计算 Dataframe 中一列的平均值,而不使用python内置函数。这是我最初的做法

A       B
0   180.0   70
1   170.0   65
2   190.5   80
3   175.0   75
4   190.0   90
5   190.0   90
6   195.0   95
7   200.0   100
8   205.0   105
9   210.0   110
n =len(df2["B"]) 
total = sum(df2["B"])
mean=total/n

现在我想创建一个内置函数,这是我的尝试,但它给了我一个错误。请协助我哪里出错了。(免责声明,这是一个教程问题)。

def summary_statistics(df, column_name):
    n =len(df2[column_name])
    total=sum(df2[column_name])
    mean = total/n
    return mean
    
summary_statistics(df2,["B"])
zbdgwd5y

zbdgwd5y1#

您需要这样做:

def summary_statistics(df, column_name):
    n =len(df[column_name])
    total=sum(df[column_name])
    mean = total/n
    return mean
    
summary_statistics(df2, "B")
jpfvwuh4

jpfvwuh42#

我建议使用panda函数Series.sizeSeries.sum,然后将不带[]的列名传递给函数,并将df2更改为df

def summary_statistics(df, column_name):
    n = df[column_name].size
    total = df[column_name].sum()
    mean = total/n
    return mean
    
out = summary_statistics(df2,"B")

如果每列的使用长度始终相同,则可以用途:

def summary_statistics(df, column_name):
    n = len(df)
    total = df[column_name].sum()
    mean = total/n
    return mean

相关问题