【问题标题】:boxplot on groupby timegrouper without subplots using pandasgroupby timegrouper 上的箱线图,没有使用 pandas 的子图
【发布时间】:2017-11-24 10:50:27
【问题描述】:

我正在对时间序列数据集使用 pd.timegrouper 进行分组。当我在这个 groupby 对象上绘制箱线图时,它有子图。我不想将情节区域划分为子情节。我尝试使用参数subplots=False,但它抛出一个错误,说 KEY ERROR "value"。
这是我在子图中得到的情节。

代码:

df['timestamp1'] = df['timestamp'].values.astype('datetime64[s]')
df=df.groupby(pd.TimeGrouper(key="timestamp1",freq="3H"),group_keys=True,as_index=True)
df.boxplot(column="value",subplots=True)

我使用的数据框对象是:

我想在同一区域绘制所有箱形图而不将其划分为子图 提前非常感谢。

【问题讨论】:

  • 您正在获得子图,因为您使用的是 groupby 对象而不是数据框。每个组都在绘制。 df 不再是数据框。您需要对您的 groupby 对象执行一些聚合/转换/应用,然后进行绘图。

标签: python pandas matplotlib plot boxplot


【解决方案1】:

这实际上可能是一个错误。您可以通过仅选择 timestamp1 和 value 列来获得所需的结果,因此无需使用 column 参数。

df[['timestamp1', 'value']].groupby(pd.TimeGrouper('3H', key='timestamp1'))\
                           .boxplot(subplots=False)

我继续在 github 上 submitted an issue 进行此操作。

【讨论】:

    猜你喜欢
    • 2015-07-04
    • 2014-08-11
    • 2013-10-27
    • 2019-06-02
    • 2018-05-26
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2021-07-07
    相关资源
    最近更新 更多