繁体   English   中英

在 Pandas 中,遵循 grouby 和 pd.cut,我如何重新排列数据框以随着时间的推移按每个 bin 绘制?

[英]In Pandas, following a grouby and a pd.cut, how do I rearrange the data frame to plot by each bin over time?

我有一个每月有 50 个数据点的数据框。 我想在日期运行 groupby,然后计算每个月内每个十分位数的中值。 我已经能够用下面的代码来完成这个:

import numpy as np
import pandas as pd

datecol = pd.date_range('12/31/2018','12/31/2019', freq='M')
for ii in range(0,49):
        datecol = datecol.append(pd.date_range('12/31/2018','12/31/2019', freq='M'))
datecol = datecol.sort_values()
df = pd.DataFrame(np.random.randn(len(datecol), 1), index=datecol, columns=['Data'])

dfg = df.groupby([df.index, pd.qcut(df['Data'], 10)])['Data'].median()

现在我希望能够重新排列数据框,以便每个十分位数都有自己的列。 我的目标是随着时间的推移绘制每个十分位数。

你可以做:

dfg.unstack(-1).plot()

输出:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM