使用GroupBy从长格式到宽格式

坚忍的

我一直在尝试找出如何成功进行以下操作。我尝试取样,分组...卡住了。

我有以下熊猫数据框示例:

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')进行自己可以做的联接。

您能帮上忙吗?

cs95

做一个groupby对日的每15分钟pd.Grouper,然后创建结果的新数据帧:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章