在我的代码here(json数据源there)中,我想计算timedelta对象的滚动平均值:
df['rm5'] = pd.rolling_mean(df['dtd'], window=5)
df.dtypes
返回如下:timedelta64[ns]表示dtd列,float64表示由滚动平均值产生的rm5和rm10列
Splits int64
Time object
Cumulative Time object
Moving Time object
Distance float64
Elev Gain int64
Elev Loss int64
td timedelta64[ns]
dc float64
dtd timedelta64[ns]
rm5 float64
rm10 float64
dtype: object
令我惊讶的是,结果是float64(列rm5和rm10) 一些快速的google给我看了这个closed bug
是有意的吗?理想情况下,我希望滚动平均结果保持timedelta64[ns]
编辑:我仍然可以做一个df['rm5td'] = pd.to_timedelta(df['rm5'])
,但是我发现了自动转换wierd
说这是有意的可能有点夸张,但这显然是
pandas.rolling_mean
性质的结果,它将始终返回float64(它在C级别被静态编码为)。你知道吗平均来说,
pd.to_datetime
似乎比pd.to_timedelta
更适合我。你知道吗相关问题 更多 >
编程相关推荐