【问题标题】:How to calculate average of values of a column for a particular value in another column?如何计算另一列中特定值的列的平均值?
【发布时间】:2020-08-02 05:02:31
【问题描述】:

我有一个看起来像这样的数据框。

如何将每个窗口的平均文档/持续时间放入另一个数据框中?

我需要通过以下方式

数据框应仅包含一列,即均值。如果有 3000 个窗口,那么轴 0 中应该有 3000 行代表窗口,平均值将包含平均值。如果初始数据帧中不存在该特定窗口,则该窗口的相应值需要为 0。

【问题讨论】:

  • df2 = df.groupby("10s_window", as_index=False).mean()?
  • 是否可以在 new_df 中为行索引为窗口值且数据不存在的剩余值为零的特定行设置平均值?
  • 你到底是什么意思?也许您可以显示所需的输出是什么样的@aravindpulagam
  • 我已经用所需的输出编辑了问题
  • 您不能拥有 3000 个带有某些“初始数据框中不存在的特定窗口”的窗口。这没有任何意义。

标签: pandas average mean


【解决方案1】:

使用.groupby()方法然后计算均值:

import pandas as pd

df = pd.DataFrame({'10s_windows': [304, 374, 374, 374, 374, 3236, 3237, 3237, 3237],
'doc/duration': [0.1, 0.1, 0.2, 0.2, 0.12, 0.34, 0.32, 0.44, 0.2]})

new_df = df.groupby('10s_windows').mean()


结果:

来源:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html

【讨论】:

  • 是否可以在 new_df 中为该特定窗口设置平均值,并将不存在数据的剩余值设置为零?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 2011-03-08
  • 1970-01-01
  • 2021-05-20
相关资源
最近更新 更多