Python describe函数

Python describe函数

Python describe函数

一、引言

在数据分析和数据处理中,我们经常需要对数据集的统计特征进行描述和分析。Python中的pandas库提供了一个名为describe()的函数,用于生成有关数据集的描述性统计信息。

在本文中,我们将详细介绍describe()函数的用法和功能,并通过实例演示其使用方法。同时,我们还将讨论describe()函数的参数和返回值,并探讨其在数据分析中的实际应用。

二、describe()函数的用法

1. describe()函数的基本语法

describe()函数是pandas库中DataFrame和Series对象的方法之一。

对于DataFrame对象:

DataFrame.describe(percentiles=None, include=None, exclude=None)

对于Series对象:

Series.describe(percentiles=None, include=None, exclude=None)

2. 参数说明

  • percentiles:可选参数,用于指定要计算的百分位数,默认为[.25, .5, .75],即计算第25%、50%和75%的百分位数。如果想计算其他百分位数,可以在该参数中指定。

  • include:可选参数,用于指定要包括在结果中的数据类型。可以是以下字符串组成的列表:None(默认值)、numberobjectcategory。其中,number表示包括数值类型的统计信息,object表示包括对象类型的统计信息,category表示包括分类类型的统计信息。

  • exclude:可选参数,用于指定要排除在结果中的数据类型。可以是以下字符串组成的列表:None(默认值)、numberobjectcategory

3. 返回值

describe()函数的返回值是一个包含统计信息的DataFrame对象。

这个DataFrame对象的索引是描述统计信息的指标(包括count、mean、std、min、25%、50%、75%、max等),列则是数据集的各个列名或列索引。

三、实例演示

为了更好地理解describe()函数的使用方法,我们将通过一个示例来演示其具体应用。

1. 准备数据集

首先,我们需要创建一个用于演示的数据集。这个数据集将包含一些学生的成绩信息,包括姓名、年龄、性别、语文成绩、数学成绩和英语成绩。

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六', '钱七'],
    '年龄': [18, 19, 17, 20, 18],
    '性别': ['男', '女', '男', '男', '女'],
    '语文成绩': [85, 92, 78, 80, 88],
    '数学成绩': [90, 88, 85, 92, 95],
    '英语成绩': [80, 85, 90, 88, 92]
}

df = pd.DataFrame(data)

这样,我们就创建了一个包含5个学生成绩信息的DataFrame对象。现在,我们可以通过df查看数据集的内容:

print(df)

运行结果:

   姓名  年龄 性别  语文成绩  数学成绩  英语成绩
0  张三  18  男    85    90    80
1  李四  19  女    92    88    85
2  王五  17  男    78    85    90
3  赵六  20  男    80    92    88
4  钱七  18  女    88    95    92

2. 使用describe()函数

现在,我们可以使用describe()函数计算数据集的描述性统计信息。

result = df.describe()

打印result可以查看计算结果:

print(result)

运行结果:

              年龄      语文成绩      数学成绩      英语成绩
count   5.000000   5.000000   5.000000   5.000000
mean   18.400000  84.600000  90.000000  87.000000
std     1.949359   5.409958   3.162278   5.830952
min    17.000000  78.000000  85.000000  80.000000
25%    18.000000  80.000000  88.000000  85.000000
50%    18.000000  85.000000  90.000000  88.000000
75%    19.000000  88.000000  92.000000  90.000000
max    20.000000  92.000000  95.000000  92.000000

从结果中,我们可以看到数据集的各个列的计数、平均值、标准差、最小值、25%分位数、中位数、75%分位数和最大值。

3. 自定义百分位数

我们还可以通过设置percentiles参数来计算其他百分位数。

例如,我们可以计算第10%和第90%的百分位数:

result = df.describe(percentiles=[.1, .9])
print(result)

运行结果:

             年龄      语文成绩      数学成绩      英语成绩
count  5.000000   5.000000   5.000000   5.000000
mean  18.400000  84.600000  90.000000  87.000000
std    1.949359   5.409958   3.162278   5.830952
min   17.000000  78.000000  85.000000  80.000000
10%   17.600000  79.000000  85.500000  81.000000
50%   18.000000  85.000000  90.000000  88.000000
90%   19.800000  90.800000  94.000000  91.600000
max   20.000000  92.000000  95.000000  92.000000

我们可以看到,结果中包含了第10%和第90%的百分位数。

4. 包括指定数据类型的统计信息

如果我们只关心数据集中的数值类型的统计信息,可以设置include参数。

例如,我们只想包括数值类型(即整型和浮点型)的统计信息:

result = df.describe(include=['number'])
print(result)

运行结果:

              年龄      语文成绩      数学成绩      英语成绩
count   5.000000   5.000000   5.000000   5.000000
mean   18.400000  84.600000  90.000000  87.000000
std     1.949359   5.409958   3.162278   5.830952
min    17.000000  78.000000  85.000000  80.000000
25%    18.000000  80.000000  88.000000  85.000000
50%    18.000000  85.000000  90.000000  88.000000
75%    19.000000  88.000000  92.000000  90.000000
max    20.000000  92.000000  95.000000  92.000000

我们可以看到,结果中只包含了数值类型(年龄、语文成绩、数学成绩和英语成绩)的统计信息。

5. 排除指定数据类型的统计信息

相反地,如果我们只想排除指定数据类型的统计信息,可以设置exclude参数。

例如,我们想排除对象类型的统计信息,只获取数值类型和分类类型的统计信息:

result = df.describe(exclude=['object'])
print(result)

运行结果:

              年龄      语文成绩      数学成绩      英语成绩
count   5.000000   5.000000   5.000000   5.000000
mean   18.400000  84.600000  90.000000  87.000000
std     1.949359   5.409958   3.162278   5.830952
min    17.000000  78.000000  85.000000  80.000000
25%    18.000000  80.000000  88.000000  85.000000
50%    18.000000  85.000000  90.000000  88.000000
75%    19.000000  88.000000  92.000000  90.000000
max    20.000000  92.000000  95.000000  92.000000

我们可以看到,结果中不包括对象类型的统计信息。

四、实际应用

describe()函数在数据分析中具有广泛的应用。它可以帮助我们快速了解数据集的整体情况,并提供关键的统计特征。

通过describe()函数的返回值,我们可以轻松获取数据集的统计指标,如最小值、最大值、平均值、中位数、分位数和标准差等。这些统计特征有助于我们对数据进行初步的分析和比较。

除了描述性统计信息,describe()函数还可以用来检查数据集的缺失值、异常值和分布情况。通过观察统计信息,我们可以发现一些数据集中的问题,并对数据进行进一步的处理和清洗。

另外,describe()函数还可以与其他函数和方法进行组合使用,进一步扩展分析的功能。例如,我们可以通过describe()函数计算特定数据类型的统计信息,然后使用可视化工具将结果进行展示。

总结起来,describe()函数是一个简单而实用的工具,可以帮助我们快速了解和分析数据集的统计特征。无论是初步数据分析还是数据清洗,describe()函数都是我们不可或缺的工具之一。

五、结论

在本文中,我们详细介绍了Python中pandas库的describe()函数的用法和功能。通过实例演示,我们展示了如何使用describe()函数计算数据集的描述性统计信息,并讨论了其参数和返回值。

通过describe()函数,我们可以快速获取数据集的统计指标,并对数据进行初步的分析和比较。同时,我们还探讨了describe()函数在数据分析中的实际应用,包括检查数据集的缺失值、异常值和分布情况等。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程