【发布时间】:2016-02-25 03:50:30
【问题描述】:
我正在尝试绘制已按特定日期范围分类的数据。
例如,我有以下数据框:
dates = pd.date_range(start=pd.datetime(2013, 6, 1), periods=50, freq='D')
df = pd.DataFrame(np.random.normal(10, 3, 50), columns=['x'], index=dates)
df[:3]
x
2013-06-01 9.819422
2013-06-02 3.659629
2013-06-03 14.862231
我想以 3 周为间隔对日期进行分组并绘制数据,这给出了我正在寻找的平均值,
df.resample('3w', how='mean')
x
2013-06-02 11.424715
2013-06-23 9.443888
2013-07-14 8.572851
2013-08-04 9.873879
但我想保留所有数据,以便在seaborn 中使用箱线图或使用matplotlib 包含标准错误。我完全坚持如何在没有明确定义范围的情况下实现这一点(这对于我正在使用的实际数据帧是不可能的)。在 pandas 中似乎必须有一种相当简单的方法来执行此操作,因此输出将类似于:
x week
2013-06-01 9.819422 1
2013-06-02 3.659629 1
2013-06-03 14.862231 1
其中week 是代表分箱数据的分类变量。任何想法将不胜感激。
【问题讨论】:
标签: python pandas matplotlib seaborn