假设我有一个已分箱值的数据集。这些箱存储在名为mydict
的字典中。为了获得绘制Box-and-Whisker所需的直方图数量,我做了:
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中,Box-and-Whisker是通过以下方式构建的:
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?我已经有直方图数量(如上所示),不需要分组。 如何修改此代码以包含我的直方图数量?
答案 0 :(得分:0)
经过简短的搜索,我发现没有必要连接任何东西。简单的答案是从df_dataset
构造Box-and-Whisker,因为它已经是series
,因此它存储了所有相关的直方图数量。
创建Box-and-Whisker的行是:
df_dataset.plot.box()
可以找到更多信息here。
可以根据个人需要设置轴标题,图表标题,网格,垃圾箱等所有细节。