我怎么阻止Pandas数据帧.重采样('T')自动向数据帧添加额外索引?

2024-04-18 14:57:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个数据帧的每分钟数据缩减到5分钟的数据箱中。这是我目前的代码:

df = pd.read_csv('stockPrices/closingPrices-apr3.csv',index_col='date',parse_dates=True)
df['close'] = df['close'].shift()
df5min = df.resample('5T').last()
print(df5min.tail())

csv文件的链接如下: https://drive.google.com/file/d/1uvkUaJwrQNsmte5IQIsJ_g5GS8RjVd8B/view?usp=sharing

输出应在2019-04-03 14:40:00停止,因为最后一个值是14:48:00,并且不可能在14:45-14:49之间设置5分钟的存储箱。但是,我得到了csv文件中不存在的以下日期时间索引值:

2019-04-03 14:45:00  286.35
2019-04-03 14:50:00  286.52
2019-04-03 14:55:00  286.32
2019-04-03 15:00:00  286.45
2019-04-03 15:05:00  280.64

到目前为止,我能找到的唯一修复方法是使用以下代码,但我之前几天的所有数据在14:40被切断:

df5min = df.resample('5T').last().between_time(start_time='9:30',end_time='14:40')

在此方面的任何帮助都将不胜感激。你知道吗


Tags: 文件csv数据代码dfclosereadtime
1条回答
网友
1楼 · 发布于 2024-04-18 14:57:58

该解决方案将产生一个您可能不希望在2018年4月3日15:05出现的行

df = pd.read_csv('./closingPrices-apr3.csv', index_col='date',parse_dates=True)
df.sort_index(inplace = True)
df = df.shift(5)
df_5min = df.resample('5T').first()

相关问题 更多 >