如何解决从 1 秒到 1 分钟的下采样是使用重新采样熊猫创建新行
我是 Python 编程的新手。我有一个以秒为单位的时间序列日期集,它从每天上午 9.15 开始到下午 3.30 结束。我正在尝试将其下采样到 1 分钟的时间范围。
原始数据集示例:
Px_NIFTY 20140130 0.0 FF Px_NIFTY 20140130 4500.0 CE \
Time
2014-01-01 09:15:01 6364.329167 NaN
2014-01-01 09:15:02 6366.776471 NaN
2014-01-01 09:15:03 6367.158824 1854.0
2014-01-01 09:15:04 6368.134211 1854.0
2014-01-01 09:15:05 6367.355000 NaN
... ... ...
2014-01-31 15:29:55 NaN NaN
2014-01-31 15:29:56 NaN NaN
2014-01-31 15:29:57 NaN NaN
2014-01-31 15:29:58 NaN NaN
2014-01-31 15:29:59 NaN NaN
当我使用 resample 将采样下采样到 1 分钟时间范围时,它会在下午 3.30 之后使用 nans 创建新行,直到第二天上午 9 点 15 分。我试图在论坛中找到答案,但没有成功。
我用来重新采样的代码:
df.resample('1T',label='right').last()
我得到的输出不正确:
Px_NIFTY 20140130 0.0 FF Px_NIFTY 20140130 4500.0 CE \
Time
2014-01-14 05:36:00 NaN NaN
2014-01-14 05:37:00 NaN NaN
2014-01-14 05:38:00 NaN NaN
2014-01-14 05:39:00 NaN NaN
2014-01-14 05:40:00 NaN NaN
... ... ...
2014-01-18 17:51:00 NaN NaN
2014-01-18 17:52:00 NaN NaN
2014-01-18 17:53:00 NaN NaN
2014-01-18 17:54:00 NaN NaN
2014-01-18 17:55:00 NaN NaN
数据集只有每天上午 9.15 到下午 3.30 的条目。
解决方法
您能否检查以下内容是否适合您:
df = (df.groupby(df.index.date).resample('T',label='right').last()
.reset_index(level=0,drop=True))
按天分组 (.date
) 将 resample
限制为组的“本地”范围,一天。否则,resample
会在几天之间填补空白,这将影响其整体结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。