为了账号安全,请及时绑定邮箱和手机立即绑定

如何提取我的熊猫时间序列数据的速率?

如何提取我的熊猫时间序列数据的速率?

当年话下 2022-08-11 18:14:16
例如,                    Temp       Hum        WSDateTime                                         2019-08-01 00:00:00   35.9615  20.51460  1.2872252019-08-01 00:20:00   36.5795  21.92870  2.2132252019-08-01 00:40:00   36.2885  22.62970  2.3311752019-08-01 01:00:00   36.1095  22.76075  2.532800间隔显然是20分钟,但是是否有提取它的功能?我正在编写一个脚本,使用df.resample(rate).mean()重新采样到更低的分辨率,我想确保只有当速率大于df的速率时,我们才运行脚本。将较低分辨率的数据转换为较高分辨率是没有意义的。在此示例中,“60T”的速率是可以接受的,因为它会将 20 分钟数据转换为每小时数据。但是,“10T”的速率应该是不可接受的。
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

尝试:


# if index not datetime object, then

# df.index = pd.to_datetime(df.index)

>>> pd.Series(df.index).diff().mean().components.minutes

20

#or,

>>> pd.Series(df.index).diff().iloc[-1].components.minutes

20


查看完整回答
反对 回复 2022-08-11
?
烙印99

TA贡献1829条经验 获得超13个赞

这取决于数据,如果指定了频率,请使用DatetimeIndex.freqstr:


print (df.index.freqstr)

20T

如果未指定,则可以通过将 DatetimeIndex 与 DataFrame.asfreq 进行转换来比较它:


idx = df.asfreq('20T').index

m = (df.index == idx).all()

print (m)

True


print (idx.freqstr)

20T


查看完整回答
反对 回复 2022-08-11
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号