我的数据看起来像(数据类型是 Pandas DataFrame):
price =
time bid
03:03:34.797000 116.02
03:03:34.797000 116.02
03:03:54.152000 116.02
03:03:54.169000 116.02
03:03:54.169000 116.02
03:07:36.899000 116.24
03:07:48.760000 116.24
03:07:48.760000 116.24
03:07:48.761000 116.24
我尝试将数据重新采样为二级数据,并将每个数据对齐到最接近的秒数,不早于原始时间。我希望结果是:
03:04:00 116.02
03:05:00 NaN
03:06:00 NaN
03:07:00 NaN
03:08:00 116.24
和使用
price.resample('Min').last()
但是我得到了。
03:03:34.797000 116.02
03:04:34.797000 NaN
03:05:34.797000 NaN
03:06:34.797000 NaN
03:07:34.797000 116.24
一切顺利,除了对齐。任何人都可以帮我解决这个问题吗?谢谢。
最佳答案
(df.groupby(df['time'].dt.round('1min') )['bid'].mean()).asfreq('Min')
Out[45]:
time
2017-12-06 03:04:00 116.02
2017-12-06 03:05:00 NaN
2017-12-06 03:06:00 NaN
2017-12-06 03:07:00 NaN
2017-12-06 03:08:00 116.24
Freq: T, Name: bid, dtype: float64
关于python - 如何重新采样并将每个索引四舍五入到最接近的秒数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684057/