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
(默认值)、number
、object
、category
。其中,number
表示包括数值类型的统计信息,object
表示包括对象类型的统计信息,category
表示包括分类类型的统计信息。 -
exclude
:可选参数,用于指定要排除在结果中的数据类型。可以是以下字符串组成的列表:None
(默认值)、number
、object
、category
。
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()
函数在数据分析中的实际应用,包括检查数据集的缺失值、异常值和分布情况等。