我有一个滴答数据的数据框,已将其重新采样为分钟数据。做香草
df.resample('1Min').ohlc().fillna(method='ffill')
超级容易。
我现在需要每天一次遍历重新采样的数据帧,但是我想不出最好的方法。
ive尝试将我的1分钟重新采样的数据帧重新采样为“ 1D”,然后将其转换为列表以进行迭代和过滤,但这给了我一个列表:
Timestamp('2011-09-13 00:00:00', freq='D')
对象,它不会让我根据该对象切片数据框。
这似乎很简单,但是我找不到答案。谢谢-
#sample data_1m dataframe
data_1m.head()
open high low close
timestamp
2011-09-13 13:53:00 5.8 6.0 5.8 6.0
2011-09-13 13:54:00 5.8 6.0 5.8 6.0
2011-09-13 13:55:00 5.8 6.0 5.8 6.0
2011-09-13 13:56:00 5.8 6.0 5.8 6.0
2011-09-13 13:57:00 5.8 6.0 5.8 6.0
...
#i want to get everything for date 2011-09-13 im trying
days_in_df = data_1m.resample('1D').ohlc().fillna(method='ffill').index.to_list()
data_1m.loc[days_in_df[0]]
KeyError: Timestamp('2011-09-13 00:00:00', freq='D')
答案 0 :(得分:0)
这是我的两分钱。我不会像对帧添加另一个索引级别那样对数据进行重采样:
data_1m = data_1m.reset_index()
data_1m['date'] = data_1m['timestamp'].astype('datetime64[D]')
data_1m = data_1m.set_index(['date', 'timestamp'])
并选择一整天:
data_1m.loc['2011-09-13']