当前位置: 首页 > 知识库问答 >
问题:

获取Pandas中每个分区的每列平均值[重复]

咸昊昊
2023-03-14

我试图为数据帧(如以下数据帧)获取每个分区每列的平均值:

  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

也就是说,我想得到销售额股票的平均值,并将它们聚合成国家城市的唯一组合。因此,生成的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

其中,我国城市分区的重复行已聚合为一行,具有平均值。

我研究了熊猫的文档。数据帧。mean()等等问题

共有1个答案

袁凌
2023-03-14

#########################################################################################

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
 类似资料:
  • 问题内容: 假设我有下表 我想绘制这些值,但是由于我的真实表有成千上万个值,因此我考虑了获取每X行的平均值。我有什么办法可以做到这一点,即每2或4行,如下所示: 另外,是否有任何方法可以根据表中的总行数使此X值动态化?例如,如果我有1000行,则将基于每200行(1000/5)计算平均值,但是如果我有20行,则应基于每4行(20/5)计算平均值。 我知道如何以编程方式执行此操作,但是有什么方法可以

  • 问题内容: 我无法获得熊猫列的平均值或均值。有一个数据框。我在下面尝试的任何事情都没有给我该列的平均值 以下返回几个值,而不是一个: 这样: 问题答案: 如果您只想要列的均值,请选择列(这是一个系列),然后调用:

  • 我正在使用SQL Server,数据库中有下表: 到目前为止我尝试了什么(错误的,因为它不计算每个组的平均值,而是计算所有列的总平均值):

  • 问题内容: 已关闭 。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗? 添加详细信息并通过编辑此帖子来澄清问题。 11个月前关闭。 改善这个问题 我有一个清单: 我想要另一个具有三个值均值的列表,因此新列表为: 新列表中只有6个值,因为第一个元素中只有18个元素。 我正在寻找一种精巧的方法来完成此操作,并为大量列表提供最少的步骤。 问题答案: 您可以在3个间隔中迭代使用for循环

  • 问题内容: 所以我查了一下,这个问题非常相似,但是它缺少一个关键点:SQL Server计算表的每一列中不同值的数量 因此,在这个问题中,他们希望每列的计数都不同。我想要做的是获取表中每个列的每个不同值的计数(而我正在为特定数据库中的所有表执行此操作,这就是为什么我要尝试尽可能地自动化这一点的原因尽可能)。当前,我的代码看起来像这样,我必须为每一列运行: 理想情况下,我的输出应如下所示: 以此类推

  • 问题内容: 我有一个java.util.Date对象数组。我试图找到平均值。 例如,如果我有2个日期对象,分别是7:40 AM和7:50 AM。我应该获得7:45 AM的平均日期对象。 我正在考虑的方法效率低下: 用于遍历所有日期 找出0000与时间之间的时差 将时间差加到总计 除以总数 将该时间转换为日期对象 有更简单的功能可以做到这一点吗? 问题答案: 好的,从根本上讲,您可以将所有对象的“自