Pandas DataFrame DataFrame.boxplot() 函数

Suraj Joshi 2023年1月30日 2020年11月7日
  1. pandas.DataFrame.boxplot() 语法
  2. 示例代码:用 pandas.DataFrame.boxplot() 生成箱线图
  3. 示例代码:使用 pandas.DataFrame.boxplot() 生成基于列值的分组数据的箱线图
  4. 设置 layout 参数来改变箱线图的布局
Pandas DataFrame DataFrame.boxplot() 函数

pandas.DataFrame.boxplot()DataFrame 列中绘制箱线图。箱线图总结了数据的最小值、第一四分位数、中位数、第三四分位数和最大值。

pandas.DataFrame.boxplot() 语法

DataFrame.boxplot(column=None, 
                  by=None, 
                  ax=None, 
                  fontsize=None, 
                  rot=0, 
                  grid=True, 
                  figsize=None, 
                  layout=None, 
                  return_type=None, 
                  backend=None, 
                  **kwargs) 

参数

column 用于生成箱线图的列名
by 通过不同组中的列来绘制不同的箱形图分组
ax 箱线图将使用的 Matplotlib 轴
grid 布尔型。打开(True)和关闭(False)网格。
rot 整数:标签沿 X 轴的旋转角度。标签沿 X 轴的旋转角度。
fontsize Boxplot 中标签的字体大小
layout 用于控制或设置 Boxplot 布局的参数
return_type 返回的对象类型
backend 要使用的后端,而不是在选项 plotting.backend 中指定的后端。
**kwargs 方法的关键字参数

示例代码:用 pandas.DataFrame.boxplot() 生成箱线图

import pandas as pd
import matplotlib.pyplot as plt

fruits=['Apple', 'Papaya', 'Banana', 'Mango','Litchi','Avocado']
prices=[3, 1, 2, 4,4,5]

df = pd.DataFrame({'Fruit':fruits ,
                   'Price': prices})
print(df)

boxplot = df.boxplot(column=['Price'])
boxplot.plot()

plt.show()

输出:

用 DataFrame 生成 Boxplot

它从 DataFramePrice 列生成一个箱线图。我们使用 matplotlib.pyplot 来显示生成的图。

示例代码:使用 pandas.DataFrame.boxplot() 生成基于列值的分组数据的箱线图

import pandas as pd
import numpy as np
import sklearn

dates=['April-10', 'April-10', 'April-11', 'April-11','April-11']
prices=[3, 1, 2, 4,5]

df = pd.DataFrame({'Date':dates ,
                   'Price': prices})
print(df)

boxplot = df.boxplot(column=['Price'],by="Date")
boxplot.plot()

plt.show()

输出:

使用 groupby 使用 DataFrame boxplot 生成 Boxplot

首先,它将给定的 DataFrame 根据它们的 Date 列的值分成不同的组,然后为每个 DataFrame 生成一个箱线图。

我们可以使用 fontsizerotgrid 参数自定义我们的图。

import pandas as pd
import matplotlib.pyplot as plt

dates=['April-10', 'April-10', 'April-11', 'April-11','April-11']
prices=[3, 1, 2, 4,5]

df = pd.DataFrame({'Date':dates ,
                   'Price': prices})
print(df)

boxplot = df.boxplot(column=['Price'],by="Date",grid=False, rot=45, fontsize=15)
boxplot.plot()

plt.show()

输出:

自定义箱线图 pandas

这里,grid=False 关闭网格,rot=45 将 X 轴标签旋转 45 度,fontsize=15 将字体大小改为 15。

设置 layout 参数来改变箱线图的布局

import pandas as pd

dates=['April-10', 'April-10', 'April-11', 'April-11','April-11']
prices=[3, 1, 2, 4,5]


df = pd.DataFrame({'Date':dates ,

boxplot = df.boxplot(column=['Price'],by="Date",layout=(2,1),grid=False,fontsize=15)

输出:

设置布局参数,改变 boxplots 的布局

这里,layout 参数改变了生成的箱线图的布局。layout=(2,1) 将箱线图排列成两行一列。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相关文章 - Pandas DataFrame