本文共 2571 字,大约阅读时间需要 8 分钟。
Pandas 中的 describe() 方法是一个实用的工具,用于生成数据的统计概要信息。它能够快速总结 DataFrame 或 Series 中的基本统计指标,帮助数据分析人员快速了解数据的分布和特征。
描述性统计信息:
describe() 默认返回数值列的统计信息,如均值、标准差、最小值、最大值等。非数值列支持:
可以通过指定参数返回对象(字符串)类型的数据统计信息,如唯一值数量、频率等。快速数据洞察:
对大规模数据提供一个概览,帮助理解数据的基本情况。对于包含数值数据的列,describe() 默认计算以下指标:
| 指标 | 说明 |
|---|---|
| count | 非空值的数量 |
| mean | 平均值 |
| std | 标准差 |
| min | 最小值 |
| 25% | 第一四分位数 |
| 50% | 中位数 |
| 75% | 第三四分位数 |
| max | 最大值 |
import pandas as pddata = { 'Age': [23, 25, 28, 22, 30, 32, 25], 'Salary': [3000, 3500, 4000, 2500, 5000, 5500, 3500], 'Department': ['HR', 'IT', 'Finance', 'IT', 'HR', 'Finance', 'HR']}df = pd.DataFrame(data)print(df.describe()) 输出:
Age Salarycount 7.000000mean 26.428571std 3.976719min 22.00000025% 23.50000050% 25.00000075% 29.000000max 32.000000
解释输出:
如果 DataFrame 包含非数值(对象类型)列,使用 describe() 会默认忽略这些列,除非显式指定参数。
对于对象类型(如字符串)的列,describe() 提供以下统计信息:
| 指标 | 说明 |
|---|---|
| count | 非空值的数量 |
| unique | 唯一值的数量 |
| top | 出现次数最多的值 |
| freq | top 值出现的次数 |
print(df.describe(include='object'))
输出:
Departmentcount 7unique 3top HRfreq 3
解释:
| 参数 | 说明 |
|---|---|
| include | 指定包含的数据类型,如 'all'、'number'、'object' 等。 |
| exclude | 排除特定数据类型。 |
| percentiles | 自定义分位数列表,默认 [0.25, 0.5, 0.75]。 |
print(df.describe(include='all'))
输出:
Age Salary Departmentcount 7.000000 7.000000mean 26.428571 3857.142857std 3.976719 1141.396572min 22.000000 2500.00000025% 23.500000 3250.00000050% 25.000000 3500.00000075% 29.000000 4250.000000max 32.000000 5500.000000unique NaN NaN 3top NaN NaN HRfreq NaN NaN 3
print(df.describe(percentiles=[0.1, 0.9]))
输出:
Age Salarycount 7.000000mean 26.428571std 3.976719min 22.00000010% 22.60000050% 25.00000090% 31.200000max 32.000000
快速了解数据:
使用 df.describe() 快速查看数据的分布和特征,识别异常值和缺失值。查看所有列:
print(df.describe(include='all')) 自定义分位数:
print(df.describe(percentiles=[0.1, 0.5, 0.9])) 仅查看特定类型数据:
df.describe(include=[np.number])df.describe(include=['object'])describe() 的关键点:
include 和 exclude 控制要分析的数据类型。percentiles 参数允许自定义分位数,了解数据的分布。转载地址:http://qnvfk.baihongyu.com/