Python pandas的describe函数参数示例详解
作者:littlebigluo
在数据分析和数据预处理过程中,了解数据集的基本统计信息是非常重要的。pandas
库提供了一个名为 describe()
的函数,可以生成数据集的描述性统计信息。本文将详细介绍 describe()
函数的各种参数及其用法,帮助更好地理解和应用这一功能。
describe() 函数概述
describe()
函数是 pandas
中的一个统计方法,用于生成数据集的基本描述性统计信息,包括均值、标准差、最小值、最大值、25%、50% 和 75% 等。默认情况下,它只会统计数值型数据的统计信息,对于非数值型数据会输出计数、唯一值数、出现频率最高的值和频率等。
参数详解
1percentiles
参数
percentiles
参数用于指定所需的百分位数,默认值为 [.25, .5, .75]
,即输出 25%,50% 和 75% 的百分位数。
import pandas as pd data = {'A': [1, 2, 3, 4, 5]} df = pd.DataFrame(data) # 指定输出 10%,50% 和 90% 的百分位数 print(df.describe(percentiles=[.1, .5, .9]))
2 include 参数
include
参数用于指定要统计的数据类型,可选值为 all
、number
和 object
,默认为 None
。如果设置为 all
,则会统计所有数据类型;如果设置为 number
,则只会统计数值型数据;如果设置为 object
,则只会统计非数值型数据。
import pandas as pd data = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']} df = pd.DataFrame(data) # 只统计数值型数据 print(df.describe(include='number'))
3 exclude 参数
exclude
参数与 include
参数相反,用于指定要排除的数据类型。
import pandas as pd data = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']} df = pd.DataFrame(data) # 排除非数值型数据 print(df.describe(exclude='object'))
4 datetime_is_numeric 参数
datetime_is_numeric
参数用于指定日期时间类型是否被视为数值型数据,默认为 False
。如果设置为 True
,则日期时间类型会被视为数值型数据,参与统计。
import pandas as pd import datetime as dt data = {'A': [dt.datetime(2022, 1, 1), dt.datetime(2022, 1, 2), dt.datetime(2022, 1, 3)]} df = pd.DataFrame(data) # 将日期时间类型视为数值型数据 print(df.describe(datetime_is_numeric=True))
示例代码
下面是一个完整的示例代码,演示了如何使用 describe()
函数及其各种参数:
import pandas as pd import numpy as np # 创建一个包含数值型和非数值型数据的DataFrame data = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e'], 'C': [1.1, 2.2, 3.3, 4.4, 5.5]} df = pd.DataFrame(data) # 输出默认的描述性统计信息 print("默认的描述性统计信息:") print(df.describe()) # 输出指定百分位数的描述性统计信息 print("\n指定百分位数的描述性统计信息:") print(df.describe(percentiles=[.1, .5, .9])) # 只统计数值型数据的描述性统计信息 print("\n只统计数值型数据的描述性统计信息:") print(df.describe(include='number')) # 只统计非数值型数据的描述性统计信息 print("\n只统计非数值型数据的描述性统计信息:") print(df.describe(include='object')) # 排除数值型数据的描述性统计信息 print("\n排除数值型数据的描述性统计信息:") print(df.describe(exclude='number')) # 将日期时间类型视为数值型数据的描述性统计信息 print("\n将日期时间类型视为数值型数据的描述性统计信息:") date_range = pd.date_range(start='2022-01-01', periods=5) data = {'A': np.arange(5), 'B': date_range} df = pd.DataFrame(data) print(df.describe(datetime_is_numeric=True))
实际应用场景
describe()
函数在实际数据分析中有着广泛的应用场景。
1. 数据质量检查
在数据分析的初步阶段,经常需要对数据的质量进行检查,包括检查是否存在缺失值、异常值等情况。describe()
函数提供了一种快速的方式来获取数据的描述统计信息,通过观察数据的均值、标准差、最小值、最大值等指标,可以初步判断数据的质量情况。
import pandas as pd # 读取数据集 df = pd.read_csv('data.csv') # 查看数据的描述统计信息 description = df.describe() print(description)
通过观察描述统计信息,可以发现是否存在异常值(如某些列的最大值或最小值明显偏离正常范围)、缺失值(计数是否一致)等情况,从而进一步采取相应的数据清洗和处理措施。
2. 数据分布分析
在数据分析过程中,了解数据的分布情况对于后续的建模和分析至关重要。describe()
函数提供了关于数据分布的基本统计信息,例如平均值、标准差、分位数等,可以快速了解数据的分布情况。
import pandas as pd import matplotlib.pyplot as plt # 读取数据集 df = pd.read_csv('data.csv') # 查看数据的描述统计信息 description = df.describe() # 绘制柱状图展示数据分布 description.plot(kind='bar', figsize=(10, 6)) plt.title('Statistics of Data Distribution') plt.xlabel('Statistics') plt.ylabel('Value') plt.xticks(rotation=45) plt.legend(loc='upper right') plt.show()
通过观察柱状图,可以直观地了解数据的分布情况,例如各个特征的均值、中位数、分位数等信息,从而为后续的数据分析和建模提供参考。
3. 数据特征选择
在进行特征工程时,需要选择对目标变量具有较高相关性的特征,以提高模型的预测性能。describe()
函数可以快速了解各个特征之间的相关性,从而进行合理的特征选择。
import pandas as pd # 读取数据集 df = pd.read_csv('data.csv') # 查看特征之间的相关性 correlation_matrix = df.corr() # 输出相关系数矩阵 print(correlation_matrix)
通过观察相关系数矩阵,可以发现各个特征之间的相关性情况,进而选择与目标变量具有较高相关性的特征进行建模和分析。
总结
describe() 函数是 pandas 中一个十分实用的工具,用于快速获取数据集的描述性统计信息。本文详细介绍了该函数的各种参数及其用法,包括控制输出的百分位数、列类型以及是否将日期时间列视为数值型列等。通过合理使用 describe() 函数,可以快速了解数据的分布情况、检查数据质量、选择特征等,为数据分析和建模提供重要参考。
到此这篇关于Python pandas的describe函数参数详解的文章就介绍到这了,更多相关Python describe函数参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!