如何在包含每小时平均值和每小时每个平均值的相应计数的数据帧末尾添加新列。

我一直在搜索,但找不到我的问题的答案。

我有太阳能电池测量数据。数据有时间戳值但没有频率。一小时内的值数量不是恒定的。一个小时内可以出现任意数量的值。所以我正在努力创造:

一世。包含数据的每小时平均值的列。

ii. 另一列保存每小时发生的测量计数。这很重要,因为我的时间戳没有固定频率。因此,重要的是要知道为一天中的特定小时计算的平均值是否有 1 次、2 次或 14 次测量。

我的数据框图像:

http://img3.mukewang.com/613c1aeb000164fa09630347.jpg

我的代码:


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()

我如何在此数据帧的末尾添加两列(平均列和该小时内发生的测量计数)。


饮歌长啸
浏览 199回答 2
2回答

达令说

这是许多可能的解决方案之一。你已经完成了一部分。df["hour"] = df.index.hourdf["date"] = df.index.datedfMeans = df.groupby(["date", "hour"])[["Sol_Data", "Irr_Unc_perc", "ISF_stable", "KP_sensor", "Tamb"]].mean()dfMeans.reset_index(inplace=True)dfHours = pd.DataFrame(df.groupby(["date", "hour"])["hour"].count())dfHours.columns = ["count"]dfHours.reset_index(inplace=True)dfFinal = pd.merge(dfHours, dfMeans, how="left", on=["date","hour"])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python