用法:
DataFrame.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 列制作box-and-whisker 图,可选择按其他一些列分组。箱线图是一种通过四分位数以图形方式描绘数值数据组的方法。该框从数据的 Q1 到 Q3 四分位值延伸,在中位数 (Q2) 处有一条线。胡须从框的边延伸以显示数据的范围。默认情况下,它们从框的边延伸不超过
1.5 * IQR (IQR = Q3 - Q1)
,在该间隔内最远的数据点处结束。异常值被绘制为单独的点。有关详细信息,请参阅 Wikipedia 的 boxplot 条目。
- column:str 或 str 列表,可选
列名或名称列表,或向量。可以是
pandas.DataFrame.groupby()
的任何有效输入。- by:str 或array-like,可选
DataFrame 中的列到
pandas.DataFrame.groupby()
。每个by
中的列值将完成一个 box-plot 。- ax:matplotlib.axes.Axes 类的对象,可选
boxplot 要使用的 matplotlib 轴。
- fontsize:浮点数或 str
刻度标签字体大小(以磅为单位或作为字符串)(例如,
large
)。- rot:整数或浮点数,默认为 0
标签相对于屏幕坐标系的旋转角度(以度为单位)。
- grid:布尔值,默认为真
将此设置为 True 将显示网格。
- figsize:以英寸为单位的元组(宽度,高度)
在 matplotlib 中创建的图形的大小。
- layout:元组(行、列),可选
例如,(3, 5) 将使用 3 列和 5 行显示子图,从左上角开始。
- return_type:{‘axes’, ‘dict’, ‘both’} 或无,默认 ‘axes’
要返回的对象类型。默认值为
axes
。‘axes’ 返回绘制箱线图的 matplotlib 轴。
‘dict’ 返回一个字典,其值是箱线图的 matplotlib 线。
‘both’ 返回一个带坐标轴和字典的命名元组。
当与
by
分组时,将返回一个将列映射到return_type
的系列。如果
return_type
是None
,则返回与layout
形状相同的 NumPy 轴数组。
- backend:str,默认无
要使用的后端,而不是选项
plotting.backend
中指定的后端。例如,‘matplotlib’。或者,要为整个会话指定plotting.backend
,请设置pd.options.plotting.backend
。- **kwargs:
要传递给
matplotlib.pyplot.boxplot()
的所有其他绘图关键字参数。
- 结果
请参阅注释。
参数:
返回:
注意:
返回类型取决于
return_type
参数:‘axes’:matplotlib.axes.Axes 类的对象
‘dict’:matplotlib.lines.Line2D 对象的字典
‘both’:具有结构(ax,lines)的命名元组
对于与
by
分组的数据,返回上述系列或 numpy 数组:array
(对于return_type = None
)
如果要在绘图后调整线条的外观,请使用
return_type='dict'
。在这种情况下,将返回一个包含组成盒子、大写字母、传单、中位数和胡须的 Lines 的字典。例子:
可以通过
df.boxplot()
或指示要使用的列为 DataFrame 中的每一列创建箱线图:>>> 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', 'Y']
)传递给箱线图,以便通过 x 轴中的变量组合对数据进行分组:>>> 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)
参数
return_type
可用于选择boxplot
返回的元素类型。选择return_type='axes'
时,将返回绘制箱线图的 matplotlib 轴:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], return_type='axes') >>> type(boxplot) <class 'matplotlib.axes._subplots.AxesSubplot'>
当使用
by
分组时,将返回一个将列映射到return_type
的系列:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type='axes') >>> type(boxplot) <class 'pandas.core.series.Series'>
如果
return_type
是None
,则返回与layout
形状相同的 NumPy 轴数组:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type=None) >>> type(boxplot) <class 'numpy.ndarray'>
相关用法
- Python pandas.DataFrame.bool用法及代码示例
- Python pandas.DataFrame.between_time用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
- Python pandas.DataFrame.apply用法及代码示例
- Python pandas.DataFrame.combine_first用法及代码示例
- Python pandas.DataFrame.cumsum用法及代码示例
- Python pandas.DataFrame.rename用法及代码示例
- Python pandas.DataFrame.to_numpy用法及代码示例
- Python pandas.DataFrame.dtypes用法及代码示例
- Python pandas.DataFrame.cummin用法及代码示例
- Python pandas.DataFrame.truncate用法及代码示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代码示例
- Python pandas.DataFrame.add_prefix用法及代码示例
- Python pandas.DataFrame.to_json用法及代码示例
- Python pandas.DataFrame.convert_dtypes用法及代码示例
- Python pandas.DataFrame.assign用法及代码示例
- Python pandas.DataFrame.radd用法及代码示例
- Python pandas.DataFrame.add用法及代码示例
- Python pandas.DataFrame.drop用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.boxplot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。