【问题标题】:Mean of values in pandas dataframe熊猫数据框中的平均值
【发布时间】:2018-05-15 23:31:46
【问题描述】:

我有一个数据框,例如:

Val1    Val2
1        4
2        10
2        5
1        7
2        0
1        20

我想从 Val2 中获得 Val1 值等于 1 的所有数字的平均值(在同一行中)。不使用循环如何做到这一点?

【问题讨论】:

  • 到目前为止您尝试过什么?你得到什么结果?你对最终结果的期望是什么?
  • 为什么要使用循环?
  • df.loc[df['Val1'] == 1]['Val2'].mean() 可能是一个好的开始。也许看看对值进行分组,你就会得到答案。

标签: python pandas dataframe mean


【解决方案1】:

你可以试试

df.groupby(['Val1'])['Val2'].mean()

【讨论】:

    【解决方案2】:

    我假设您只想将平均值作为一个简单的浮点数。在这种情况下,您可以这样做:

    df[df["Val1"] == 1]["Val2"].mean()
    

    【讨论】:

      【解决方案3】:

      其他答案也应该提供正确的答案,但我认为最惯用的方法如下: df.loc[df['Val1']==1, 'Val2'].mean()

      【讨论】:

        猜你喜欢
        • 2021-03-10
        • 2020-04-26
        • 2018-10-26
        • 2013-02-14
        • 1970-01-01
        • 2018-02-01
        • 2018-04-15
        • 2021-08-20
        • 2021-09-25
        相关资源
        最近更新 更多