pandas.DataFrame.boxplot # 数据框。boxplot ( column = None, by = None, ax = None, fontsize = None, rot = 0, grid = True, figsize = None, layout = None, return_type = None, backend = None, ** kwargs ) [来源] # 根据 DataFrame 列绘制箱线图。 根据 DataFrame 列制作箱须图,可以选择按其他一些列进行分组。箱线图是一种通过四分位数以图形方式描绘数值数据组的方法。该框从数据的 Q1 四分位数值延伸到 Q3,并在中位数 (Q2) 处有一条线。须线从框的边缘延伸以显示数据的范围。默认情况下,它们从框边缘延伸不超过 1.5 * IQR (IQR = Q3 - Q1) ,结束于该间隔内最远的数据点。异常值被绘制为单独的点。 有关更多详细信息,请参阅 Wikipedia 的boxplot条目。 参数: str列或 str 列表,可选列名称或名称列表或向量。可以是任何有效的输入pandas.DataFrame.groupby()。 通过str 或类似数组,可选DataFrame 中的列到pandas.DataFrame.groupby().将针对by中的每个列值绘制一个箱线图。 matplotlib.axes.Axes 类的ax对象,可选boxplot 使用的 matplotlib 轴。 字体大小float 或 str勾选标签字体大小(以磅为单位)或作为字符串(例如,large)。 rot浮点型,默认 0标签相对于屏幕坐标系的旋转角度(以度为单位)。 grid bool,默认 True将其设置为 True 将显示网格。 Figsize一个元组(宽度,高度),以英寸为单位要在 matplotlib 中创建的图形的大小。 布局元组(行,列),可选例如,(3, 5) 将使用 3 行和 5 列显示子图,从左上角开始。 return_type {'axes', 'dict', 'both'} 或 None, 默认 'axes'要返回的对象类型。默认为axes. 'axes' 返回绘制箱线图的 matplotlib 轴。 'dict' 返回一个字典,其值是箱线图的 matplotlib 线。 'both' 返回一个带有轴和字典的命名元组。 当使用 进行分组时,将返回by映射列到的系列 。return_type 如果return_type为Nonelayout ,则返回与形状相同的 NumPy 轴数组。 后端str,默认无要使用的后端而不是选项中指定的后端 plotting.backend。例如,“matplotlib”。或者,要plotting.backend为整个会话 指定,请设置pd.options.plotting.backend。 **夸格所有其他绘图关键字参数都将传递给 matplotlib.pyplot.boxplot(). 返回: 结果参见注释。 也可以看看 pandas.Series.plot.hist制作直方图。 matplotlib.pyplot.boxplotMatplotlib 等效图。 笔记 返回类型取决于return_type参数: 'axes' : matplotlib.axes.Axes 类的对象 'dict' : matplotlib.lines.Line2D 对象的字典 'both' :具有结构(斧头,线)的命名元组 对于使用 分组的数据by,返回上述系列或 numpy 数组: Series array(为了)return_type = None return_type='dict'当您想在绘图后调整线条的外观时使用。在这种情况下,返回一个包含构成盒子、盖子、传单、中线和胡须的线条的字典。 例子 df.boxplot()可以通过或指示要使用的列为数据框中的每一列创建箱线图: >>> np.random.seed(1234) >>> df = pd.DataFrame(np.random.randn(10, 4), ... columns=['Col1', 'Col2', 'Col3', 'Col4']) >>> boxplot = df.boxplot(column=['Col1', 'Col2', 'Col3']) 可以使用选项创建按第三个变量的值分组的变量分布箱线图by。例如: >>> df = pd.DataFrame(np.random.randn(10, 2), ... columns=['Col1', 'Col2']) >>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A', ... 'B', 'B', 'B', 'B', 'B']) >>> boxplot = df.boxplot(by='X') 可以将字符串列表(即)传递给箱线图,以便通过 x 轴中的变量组合对数据进行分组:['X', 'Y'] >>> df = pd.DataFrame(np.random.randn(10, 3), ... columns=['Col1', 'Col2', 'Col3']) >>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A', ... 'B', 'B', 'B', 'B', 'B']) >>> df['Y'] = pd.Series(['A', 'B', 'A', 'B', 'A', ... 'B', 'A', 'B', 'A', 'B']) >>> boxplot = df.boxplot(column=['Col1', 'Col2'], by=['X', 'Y']) 箱线图的布局可以调整给一个元组layout: >>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... layout=(2, 1)) 可以对箱线图进行其他格式化,例如抑制网格 ( grid=False)、在 x 轴上旋转标签 (即rot=45) 或更改字体大小 (即fontsize=15): >>> boxplot = df.boxplot(grid=False, rot=45, fontsize=15) 该参数可用于选择boxplotreturn_type返回的元素类型。选择后,将返回绘制箱线图的 matplotlib 轴:return_type='axes' >>> boxplot = df.boxplot(column=['Col1', 'Col2'], return_type='axes') >>> type(boxplot) <class 'matplotlib.axes._axes.Axes'> 当使用 进行分组时, 将返回by映射列到的 Series :return_type >>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type='axes') >>> type(boxplot) <class 'pandas.core.series.Series'> 如果return_type为Nonelayout ,则返回与形状相同的 NumPy 轴数组: >>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type=None) >>> type(boxplot) <class 'numpy.ndarray'>