【问题标题】:Pandas: calculating the mean values of duplicate entries in a dataframePandas:计算数据框中重复条目的平均值
【发布时间】:2017-02-16 14:10:15
【问题描述】:

我一直在使用 python 和 pandas 中的数据框,其中包含第一列中的重复条目。数据框看起来像这样:

    sample_id    qual    percent
0   sample_1      10        20
1   sample_2      20        30
2   sample_1      50        60
3   sample_2      10        90
4   sample_3      100       20

我想写一些东西来识别第一列中的重复条目并计算后续列的平均值。理想的输出类似于以下内容:

    sample_id    qual    percent
0   sample_1      30        40
1   sample_2      15        60
2   sample_3      100       20

我整个下午都在为这个问题苦苦挣扎,希望能得到任何帮助。

【问题讨论】:

  • 你能仔细检查一下你的预期输出吗?这似乎不是平均值。
  • 你是对的。我已更改数据框以包含正确的平均值。谢谢!
  • 如果数据框中有重复和非重复,并且您想将重复缩小到它们的平均值,我们该如何处理?谢谢

标签: python pandas


【解决方案1】:

groupbysample_id 列并使用mean

df.groupby('sample_id').mean().reset_index()

df.groupby('sample_id', as_index=False).mean()

找你

【讨论】:

    【解决方案2】:

    Groupby 将起作用。

    data.groupby('sample_id').mean()
    

    然后,您可以使用reset_index() 使外观完全符合您的要求。

    【讨论】:

      猜你喜欢
      • 2014-04-01
      • 1970-01-01
      • 2016-06-15
      • 2016-02-12
      • 1970-01-01
      • 2022-08-17
      • 2018-09-06
      • 2017-11-11
      • 1970-01-01
      相关资源
      最近更新 更多