每天将熊猫数据框转换为分钟频率

时间:2019-05-30 05:13:46

标签: python pandas dataframe

我有一个以下定义的数据帧(df),其中包含每日频率,我想将其转换为分钟频率,开始于8:30,结束于16:00。

import pandas as pd
dict = [
        {'ticker':'jpm','date': '2016-11-28','returns': '0.2'},
{ 'ticker':'ge','date': '2016-11-28','returns': '0.2'},
{'ticker':'fb', 'date': '2016-11-28','returns': '0.2'},
{'ticker':'aapl', 'date': '2016-11-28','returns': '0.2'},
{'ticker':'msft','date': '2016-11-28','returns': '0.2'},
{'ticker':'amzn','date': '2016-11-28','returns': '0.2'},
{'ticker':'jpm','date': '2016-11-29','returns': '0.2'},
{'ticker':'ge', 'date': '2016-11-29','returns': '0.2'},
{'ticker':'fb','date': '2016-11-29','returns': '0.2'},
{'ticker':'aapl','date': '2016-11-29','returns': '0.2'},
{'ticker':'msft','date': '2016-11-29','returns': '0.2'},
{'ticker':'amzn','date': '2016-11-29','returns': '0.2'}
]
df = pd.DataFrame(dict)
df['date']      = pd.to_datetime(df['date'])
df=df.set_index(['date','ticker'], drop=True)  

有人可以建议如何做吗?

1 个答案:

答案 0 :(得分:2)

我相信您需要为DatetimeIndex重新设置DataFrame.unstack,然后通过DataFrame.asfreq设置分钟频率,通过DataFrame.between_time设置过滤时间,最后为{ {1}}:

MultiIndex