如何从Pandas数据框架中创建Boxplot

如何从Pandas数据框架中创建Boxplot

箱形图也被称为晶须图,它提供了一组数据的摘要,包括最小值、第一四分之一、中位数、第三四分之一和最大值。这种盒式图存在于matplotlib库中。在箱形图中,Xaxis代表我们要绘制的数据,Yaxis代表频率。

方法1:使用DataFrame_Name[‘column_name’].plot()函数

我们可以通过以下语法在Pandas DataFrame的每一列上创建一个箱形图–

DataFrame_Name[‘column_name’].plot(kind=’box’, title=’title_of_plot’)

注意:我们可以用******方法找到第一四分位值、中位值、第三四分位值。

查找四分位数的语法

data.quantile([0.25,0.5,0.75])

  • 0.25表示第一个四分之一。
  • 0.5表示中位数。
  • 0.75表示第三个四分位数。

寻找数据的四分位数的例子

# import necessary packages
import pandas as pd
  
data = pd.Series([1, 2, 3, 4, 5, 6])
  
# find quartile values
print(data.quantile([0.25, 0.5, 0.75]))
Python

输出

0.25    2.25
0.50    3.50
0.75    4.75
dtype: float64
Python

考虑用下面的数据创建一个DataFrame,并在上面绘制一个框图。

Name Marks Credits
Akhil 77 8
Nikhil 95 10
Satyam 89 9
Sravan 78 8
Pavan 64 7

示例:

使用上述数据创建一个数据框架,并在学生的分数上绘制Boxplot。底线表示一个学生的最低分数,顶线表示一个学生的最高分数。在底部和顶部之间,中间的三条线分别表示第一四分位数、中位数和第三四分位数。

# import necessary packages
import pandas as pd
import matplotlib.pyplot as plt
  
# create a dataframe
data = pd.DataFrame({'Name': ['Akhil', 'Nikhil', 'Satyam', 'Sravan', 'Pavan'],
                     'Marks': [77, 95, 89, 78, 64],
                     'Credits': [8, 10, 9, 8, 7]})
  
# box plot
data['Marks'].plot(kind='box', title='Marks of students')
plt.show()
Python

输出:

如何从Pandas数据框架中创建Boxplot?

示例:

在这个例子中,学生的最低分数是10分,这个分数非常小,与其他分数(数据点)相差甚远。因此,它在底部被表示为o,代表一个离群值。如果数据中的任何一个数据点与其他数值相比要大得多或小得多,那么就会产生以下图表。

# import necessary packages
import pandas as pd
import matplotlib.pyplot as plt
  
# create a dataframe
data = pd.DataFrame({'Name': ['Akhil', 'Nikhil', 'Satyam', 'Sravan', 'Pavan'],
                     'Marks': [77, 95, 89, 78, 10],
                     'Credits': [8, 10, 9, 8, 0]})
  
# outlier box plot
data['Marks'].plot(kind='box', title='Marks of students')
plt.show()
Python

输出:

如何从Pandas数据框架中创建Boxplot?

方法2:使用pandas.DataFrame.boxplot()函数

我们也可以使用pandas.DataFrame.boxplot来绘制DataFrame中各列的框图。

语法

DataFrameName.boxplot(column=’column_name’,grid=True/False)

grid表示图形中的网格线。这是一个可选的参数,如果不指定它,将被视为真实。

示例:

这里我们使用boxplot方法来绘制boxplot,而不是使用plot方法并指定其种类。由于我们没有指定网格参数作为boxplot方法的参数,它将考虑默认值,即True。

# import necessary packages
import pandas as pd
  
# create a dataframe
data = pd.DataFrame({'Name': ['Akhil', 'Nikhil', 'Satyam', 'Sravan', 'Pavan'],
                     'Marks': [77, 95, 89, 78, 64],
                     'Credits': [8, 10, 9, 8, 7]})
  
# box plot for marks column
data.boxplot(column='Marks')
Python

输出:

如何从Pandas数据框架中创建Boxplot?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册