首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中取一列的平均值,同时根据另一列的条件进行过滤

如何在python中取一列的平均值,同时根据另一列的条件进行过滤
EN

Stack Overflow用户
提问于 2018-07-04 05:44:16
回答 1查看 204关注 0票数 1

我正在使用Python (通常是一个R人员),我正在尝试为一个特定的应用程序创建这个函数。基本上,我尝试在"Month_of_Year“列中采用每个月的"CallsPresented”列的平均值。我知道我把事情搞得太复杂了。我该如何做到这一点呢?

代码语言:javascript
复制
def get_monthly_mean(df):
    avg_by_month = []
    months = ['Jan', 'Feb', 'Mar', 'Apr', 'June', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    for i in range(11):
        x = np.mean(df['CallsPresented'][df.loc[df['Month_of_Year'] == months[i]]])
        avg_by_month.append(x)
    return months
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-04 05:54:05

为什么不直接groupBy month列并计算每个组的mean呢?

就像这样

代码语言:javascript
复制
def get_monthly_mean(df):

    df_grouped = df.groupby('Month_of_Year')['CallsPresented'].mean()

    #Then you can pass the column to a list or just return the grouped df, 
    #whatever suits your use case better

    return df_grouped
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51163175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档