在 Pandas 中获取每个分区的每列平均值 [重复]
Posted
技术标签:
【中文标题】在 Pandas 中获取每个分区的每列平均值 [重复]【英文标题】:Get mean per column per partition in Pandas [duplicate] 【发布时间】:2018-11-20 21:28:19 【问题描述】:我正在尝试获取 DataFrame 的每个分区的每个列的平均值,例如这个:
country city sales stock
0 UK London 1 34
1 UK Leeds 2 20
2 UK Leeds 3 21
3 RO Cluj 4 24
4 RO Cluj 5 25
5 RO Bucharest 6 25
也就是说,我想得到sales
和stock
的平均值,并将它们聚合成country
和city
的独特组合。因此,生成的 DataFrame 应该是:
country city sales stock
0 UK London 1 34
1 UK Leeds 2.5 20.5
2 RO Cluj 4.5 24.5
3 RO Bucharest 6 25
我的国家 - 城市分区的重复行已聚合为一行,具有平均值。
我研究了有关pandas.DataFrame.mean()
的文档和诸如this one 之类的SO 问题和答案,但没有一个能以直截了当的方式帮助我。任何帮助表示赞赏。
【问题讨论】:
试试这个? ***.com/questions/46431243/… 【参考方案1】:groupby
df.groupby(['country', 'city']).mean()
sales stock
country city
RO Bucharest 6.0 25.0
Cluj 4.5 24.5
UK Leeds 2.5 20.5
London 1.0 34.0
设置索引
df.set_index(['country', 'city']).mean(level=[0, 1])
不设置索引
df.groupby(['country', 'city'], as_index=False, sort=False).mean()
country city sales stock
0 UK London 1.0 34.0
1 UK Leeds 2.5 20.5
2 RO Cluj 4.5 24.5
3 RO Bucharest 6.0 25.0
【讨论】:
准确地说,df.groupby(['country', 'city'], as_index=False, sort=False).mean()
以上是关于在 Pandas 中获取每个分区的每列平均值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
机器学习Pandas库练习-获取yahoo金融苹果公司的股票数据
pandas DataFrame中按日期(在索引中)的加权平均分组(每列不同的操作)
Pandas / Numpy - 如何获取和比较每列与每列的计数并写入 csv?
R语言使用yardstick包的rmse函数评估回归模型的性能评估回归模型在每个交叉验证(或者重采样)的每一折fold上的RMSE以及整体的均值RMSE(其他指标maemape等计算方式类似)