从重新采样的数据框中一次选择一个日期

时间:2019-07-10 19:08:03

标签: python pandas

我有一个滴答数据的数据框,已将其重新采样为分钟数据。做香草

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')

1 个答案:

答案 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']