【问题标题】:Python: how to concatenate multiple pandas dataframes to produce a box-and-whisker plot?Python:如何连接多个 pandas 数据框以生成盒须图?
【发布时间】:2016-07-26 18:30:17
【问题描述】:

假设我有一个已分箱的值数据集。这些垃圾箱存储在名为mydict 的字典中。为了获得绘制盒须所需的直方图数量,我已经完成了:

df_dataset = pd.DataFrame.from_dict(dict([ (k, pd.Series(v)) for k,v in mydict.items() ]))

获取直方图数量:

mydict_min = df_dataset.min()
mydict_max = df_dataset.max()
mydict_median = df_dataset.median()
mydict_1st3rd = df_dataset.quantile([.1, .3])

我的问题:我需要根据上面显示的直方图数量绘制一个 Box-and-Whisker plot。如何使用DataFrame.boxplot 做到这一点?在this example 中,通过以下方式构建了一个盒须:

import matplotlib.pyplot as plt
from pandas import DataFrame

df = DataFrame({'Parameter': ['A',]*8, 
                'Site': ['S1', 'S2', 'S1', 'S2', 'S1', 'S2', 'S1', 'S2'],
                'Value':  [2.34, 2.67, 2.56, 2.89, 3.45, 4.45, 3.67, 4.56]})

df.boxplot(by=['Parameter', 'Site'])
plt.show()

我需要创建 DataFrame 的 DataFrame 吗?我已经有了直方图数量(如上所示)并且不需要分组。 如何修改此代码以包含我的直方图数量?

【问题讨论】:

    标签: python pandas matplotlib plot boxplot


    【解决方案1】:

    经过简短的搜索,我发现没有必要连接任何东西。简单的答案是从df_dataset 构造盒须,因为它已经是series,因此它存储了所有相关的直方图数量。

    创建盒须的行是: df_dataset.plot.box()

    更多信息可以在here找到。

    可以根据自己的需要设置轴标题、绘图标题、网格、bin 和其他所有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多