当前位置: 首页 > news >正文

【Pandas】pandas DataFrame describe

Pandas2.2 DataFrame

Computations descriptive stats

方法描述
DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值
DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 True
DataFrame.any(*[, axis, bool_only, skipna])用于判断 DataFrame 中是否至少有一个元素在指定轴上为 True
DataFrame.clip([lower, upper, axis, inplace])用于截断(限制)DataFrame 中的数值
DataFrame.corr([method, min_periods, …])用于计算 DataFrame 中各列之间的相关系数矩阵(Correlation Matrix)
DataFrame.corrwith(other[, axis, drop, …])用于计算当前 DataFrame 的每一列(或行)与另一个 Series 或 DataFrame 中对应列的相关系数
DataFrame.count([axis, numeric_only])用于统计 DataFrame 中每列或每行的非空(非 NaN)元素数量
DataFrame.cov([min_periods, ddof, numeric_only])用于计算 DataFrame 中每对列之间的协方差
DataFrame.cummax([axis, skipna])用于计算 DataFrame 中每列或每行的累计最大值(cumulative maximum)
DataFrame.cummin([axis, skipna])用于计算 DataFrame 中每列或每行的累计最小值(cumulative minimum)
DataFrame.cumprod([axis, skipna])用于计算 DataFrame 中每列或每行的累计乘积(cumulative product)
DataFrame.cumsum([axis, skipna])用于计算 DataFrame 中每列或每行的累计和(cumulative sum)
DataFrame.describe([percentiles, include, …])用于快速生成数据集的统计摘要(summary statistics)

pandas.DataFrame.describe()

pandas.DataFrame.describe() 是一个非常常用的函数,用于快速生成数据集的统计摘要(summary statistics)。默认情况下,它会对数值型列计算常见的描述性统计指标,如均值、标准差、最小最大值、四分位数等;对对象类型(字符串)列则输出数量、唯一值个数、最常见值等信息。


📌 方法签名:
DataFrame.describe(percentiles=None, include=None, exclude=None)

🧾 参数说明:
参数类型描述
percentileslist-like of floats, optional要包含的百分位数(介于 0 和 1 之间),默认为 [0.25, 0.5, 0.75],即四分位数。
include‘all’, list of dtypes or None (default)指定要包括的列的数据类型。例如:['object', 'number']'all' 表示所有列。
excludelist of dtypes, optional指定要排除的列的数据类型。

📊 默认输出内容(针对数值型列):
  • count:非空值数量
  • mean:平均值
  • std:标准差
  • min:最小值
  • 25%:第一四分位数(下四分位数)
  • 50%:第二四分位数(中位数)
  • 75%:第三四分位数(上四分位数)
  • max:最大值

✅ 示例及结果:
示例1:默认行为(仅数值列)
import pandas as pddf = pd.DataFrame({'Age': [23, 45, 31, 22, 34],'Salary': [50000, 80000, 60000, 45000, 70000],'Department': ['HR', 'IT', 'IT', 'HR', 'Sales']
})print(df.describe())
输出结果:
             Age        Salary
count   5.000000      5.000000
mean   31.000000  61000.000000
std     9.152727  14352.700142
min    22.000000  45000.000000
25%    23.000000  50000.000000
50%    31.000000  60000.000000
75%    34.000000  70000.000000
max    45.000000  80000.000000

示例2:包含对象类型列(字符串)
print(df.describe(include='all'))
输出结果:
             Age        Salary Department
count   5.000000      5.000000          5
unique       NaN           NaN          3
top          NaN           NaN         HR
freq         NaN           NaN          2
mean   31.000000  61000.000000        NaN
std     9.152727  14352.700142        NaN
min    22.000000  45000.000000        NaN
25%    23.000000  50000.000000        NaN
50%    31.000000  60000.000000        NaN
75%    34.000000  70000.000000        NaN
max    45.000000  80000.000000        NaN

示例3:自定义百分位数
# 自定义百分位数为 0.1, 0.5, 0.9
print(df.describe(percentiles=[0.1, 0.5, 0.9]))
输出结果:
             Age        Salary
count   5.000000      5.000000
mean   31.000000  61000.000000
std     9.152727  14352.700142
min    22.000000  45000.000000
10%    22.200000  46000.000000
50%    31.000000  60000.000000
90%    41.800000  78000.000000
max    45.000000  80000.000000

示例4:仅显示对象类型列
print(df.describe(include=['object']))
输出结果:
  Department
count         5
unique        3
top          HR
freq          2

🎯 适用场景:
场景描述
数据探索分析(EDA)快速了解数据分布、集中趋势和离散程度
缺失值检查结合 count 判断是否存在缺失值
异常值检测查看 min / max 是否有明显异常
特征工程前准备确认各特征的基本统计特性是否合理

⚠️ 注意事项:
  • 默认只处理数值型列(int、float)
  • 可通过 include='all' 包含所有列
  • 对象类型列会返回 count, unique, top, freq 等统计量
  • 不会影响原始 DataFrame,返回新 DataFrame

📋 总结:
特性描述
功能生成 DataFrame 的统计摘要
默认行为仅统计数值型列
支持扩展可通过 include/exclude 控制统计列类型
是否修改原数据否,返回新 DataFrame
常用用途数据探索、质量检查、特征分析

describe() 是数据分析中最基础但最重要的方法之一,适合在建模前或可视化前快速了解数据分布情况。

相关文章:

  • Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网海量设备数据长期存储中的应用优化(248)
  • vscode - 笔记
  • 采用均线策略来跟踪和投资基金
  • x-IMU matlab zupt惯性室内定位算法
  • 南审计院考研分享会 经验总结
  • springboot踩坑记录
  • spring中的@MapperScan注解详解
  • Java 集合框架对比全解析:单列集合 vs 双列集合
  • 腾讯云-人脸核身+人脸识别教程
  • 现代计算机图形学Games101入门笔记(三)
  • FastByteArrayOutputStream和ByteArrayInputStream有什么区别
  • 【Linux笔记】——Linux线程理解与分页存储的奥秘
  • 【LeetCode 热题 100】反转链表 / 回文链表 / 有序链表转换二叉搜索树 / LRU 缓存
  • 家用或办公 Windows 电脑玩人工智能开源项目配备核显的必要性(含 NPU 及显卡类型补充)
  • 滑动窗口算法笔记
  • Milvus 视角看主流嵌入式模型(Embeddings)
  • MongoDB入门
  • 《AI大模型应知应会100篇》第63篇:AutoGPT 与 BabyAGI:自主代理框架探索
  • Centos 上安装Klish(clish)的编译和测试总结
  • 大数据开发 hadoop集群 3.Hadoop运行环境搭建
  • 视频|王弘治:王太后,“先天宫斗圣体”?
  • 泽连斯基:将带领乌代表团前往土耳其,已准备好与普京会谈
  • 工人日报:“鼠标手”被纳入职业病,劳动保障网越织越密
  • 秦洪看盘|预期改善,或迎来新的增量资金
  • 5.19中国旅游日,上海56家景区景点限时门票半价
  • 道指跌逾100点,特斯拉涨近5%