【发布时间】:2018-12-08 23:33:39
【问题描述】:
我搜索了很多,但找不到我的问题的答案。
我有太阳能电池测量数据。数据有时间戳值,但没有频率。一小时内的值的数量不是恒定的。一个小时内可以出现任意数量的值。所以我正在努力创造:
我。具有数据每小时平均值的列。
二。另一列包含每小时发生的测量计数。这很重要,因为我的时间戳没有固定频率。因此,重要的是要知道为一天中的特定小时计算的平均值是否有 1 次或 2 次或 14 次测量。
我的数据框图片:
我的代码:
yr=df.index.year
mon=df.index.month
day= df.index.day
hr = df.index.hour
df.groupby([yr, mon, day, hr])['KP_sensor'].mean()
如何在此数据框的末尾添加两列(平均列和该小时内发生的测量计数)。
【问题讨论】:
-
你想像this一样使用
.transform() -
@CJ59 是的,这解决了附加列的问题,但我仍然不确定如何计算每小时的测量计数。你能帮我解决这个问题吗?谢谢!
-
你可以试试:
df['counts'] = df['hr'].map(df.groupby(['hr']).size()) -
@YOLO 它有一些 sytanx 错误。 'hr' 和我上面计算的一样吗?它的数据类型是 int64。我试过没有''但它没有用。你能再看一遍吗?谢谢!
标签: python pandas pandas-groupby