我一直在尝试找出如何成功进行以下操作。我尝试采样,分组...卡住了。
我有以下熊猫数据框示例:
date | price |
09/09/2018 08:30 | 22.1 |
09/09/2018 08:35 | 22.12 |
09/09/2018 08:40 | 22.20 |
09/09/2018 08:45 | 22.13 |
09/09/2018 08:50 | 22.19 |
09/09/2018 08:55 | 22.39 |
我想在15分钟内将日期分组并获得以下数据框。
date_15 | price_1 | price_2 | price 3 |
09/09/2018 08:30 | 22.1 | 22.12 | 22.20 |
09/09/2018 08:45 | 22.13 | 22.19 | 22.39 |
然后我将set_index('date_15')进行自己可以做的联接。
您能帮上忙吗?
答案 0 :(得分:4)
使用groupby
每隔15分钟对日期进行一次pd.Grouper
,然后使用以下结果创建一个新的DataFrame:
df['date'] = pd.to_datetime(df.date, errors='coerce')
v = df.groupby(pd.Grouper(key='date', freq='15min'))['price'].apply(list)
pd.DataFrame(v.tolist(), index=v.index).add_prefix('price ')
price 0 price 1 price 2
date
2018-09-09 08:30:00 22.10 22.12 22.20
2018-09-09 08:45:00 22.13 22.19 22.39