我有一个这样的df
它包含speed
和{dir=87, speed=5
。在
现在,我认为数据可能太精确了,我想用每小时的平均值来计算。我该怎么做?在
我可以通过groupy
df['Hr']=df['HrMn'].apply(lambda x: str(x)[:-2])
df.groupby(['date', 'Hr'])['speed'].mean()
我想要什么就要什么
但它不是一个数据帧,我怎样才能用于以后的计算呢?具体来说,我想知道
如果我使用的groupby
方法是解决这个问题的正确方法吗?如果是,以后如何使用它作为数据帧?(我还需要获得dir
、dir_max
和其他属性)
结果groupby
返回的顺序不正确(在date
和Hr
)中,是否有必要对其重新排序?
更新:
如果我这样做,df.groupby(['date', 'Hr'])['speed'].mean().unstack()
,它将返回
数据当然是正确的,但我仍然希望它遵循初始数据帧形式
除了HrMn
->;Hr
你得到的是一个多索引数据帧。你可以试试
如果你想知道其余数据的平均值,试试看
^{pr2}$编辑: 在速度列上应用平均值,在方向最大值和速度最大值上应用最大值
相关问题 更多 >
编程相关推荐