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