gpt4 book ai didi

Pandas groupby 聚合将多个函数应用于多个列

转载 作者:行者123 更新时间:2023-12-04 08:08:11 26 4
gpt4 key购买 nike

有一个数据框,需要对许多列应用相同的计算,目前我正在手动进行。有什么好的和优雅的方法可以做到这一点吗?

tt =  pd.DataFrame(data={'Status' : ['green','green','red','blue','red','yellow','black'],
'Group' : ['A','A','B','C','A','B','C'],
'City' : ['Toronto','Montreal','Vancouver','Toronto','Edmonton','Winnipeg','Windsor'],
'Sales' : [13,6,16,8,4,3,1], 'Counts' : [100,200,50,30,20,10,300]})


ss = tt.groupby('Group').agg({'Sales':['count','mean',np.median],\
'Counts':['count','mean',np.median]})
ss.columns = ['_'.join(col).strip() for col in ss.columns.values]

所以结果是 enter image description here

如果我有一个非常大的数据框,我如何为许多列执行相同的计算、计数、平均值、中位数?

最佳答案

在 pandas 中,聚合操作采用单个或多个单独的方法应用于相关列并返回输出摘要。在 python 中,列表保存并解析多个实体。在这种情况下,我将函数列表传递给聚合器。在您的情况下,您正在解析字典,这意味着您必须单独处理每一列,使其非常手动。如果不清楚,很乐意进一步解释

ss=tt.groupby('Group').agg(['count','mean','median'])
ss.columns = ['_'.join(col).strip() for col in ss.columns.values]
ss

关于Pandas groupby 聚合将多个函数应用于多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66112252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com