博客
关于我
Pandas DataFrame 的 describe()方法详解-ChatGPT4o作答
阅读量:794 次
发布时间:2023-02-26

本文共 2571 字,大约阅读时间需要 8 分钟。

Pandas DataFrame 的 describe() 方法详解

Pandas 中的 describe() 方法是一个实用的工具,用于生成数据的统计概要信息。它能够快速总结 DataFrame 或 Series 中的基本统计指标,帮助数据分析人员快速了解数据的分布和特征。

describe() 方法的作用

  • 描述性统计信息

    describe() 默认返回数值列的统计信息,如均值、标准差、最小值、最大值等。

  • 非数值列支持

    可以通过指定参数返回对象(字符串)类型的数据统计信息,如唯一值数量、频率等。

  • 快速数据洞察

    对大规模数据提供一个概览,帮助理解数据的基本情况。

  • describe() 的默认行为

    数值列的描述性统计信息

    对于包含数值数据的列,describe() 默认计算以下指标:

    指标 说明
    count 非空值的数量
    mean 平均值
    std 标准差
    min 最小值
    25% 第一四分位数
    50% 中位数
    75% 第三四分位数
    max 最大值

    示例

    import pandas as pd
    data = {
    '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       Salary
    count 7.000000
    mean 26.428571
    std 3.976719
    min 22.000000
    25% 23.500000
    50% 25.000000
    75% 29.000000
    max 32.000000

    解释输出

    • count:每列中非空的记录数量。
    • mean:数据的平均值。
    • std:数据的标准差,衡量数据分散程度。
    • minmax:数据的最小值和最大值。
    • 25%, 50%, 75%:数据的四分位数,中位数(50%)表示数据的中间值。

    非数值列的描述信息

    如果 DataFrame 包含非数值(对象类型)列,使用 describe() 会默认忽略这些列,除非显式指定参数。

    非数值统计信息

    对于对象类型(如字符串)的列,describe() 提供以下统计信息:

    指标 说明
    count 非空值的数量
    unique 唯一值的数量
    top 出现次数最多的值
    freq top 值出现的次数

    示例

    print(df.describe(include='object'))

    输出

    Department
    count 7
    unique 3
    top HR
    freq 3

    解释

    • count:非空字符串的数量。
    • unique:唯一值的数量(如 HR、IT、Finance)。
    • top:最频繁出现的值(如 HR)。
    • freq:top 值出现的次数(如 HR 出现了 3 次)。

    参数详解

    主要参数

    参数 说明
    include 指定包含的数据类型,如 'all'、'number'、'object' 等。
    exclude 排除特定数据类型。
    percentiles 自定义分位数列表,默认 [0.25, 0.5, 0.75]。

    示例

    示例 1:包括所有列
    print(df.describe(include='all'))

    输出

    Age       Salary Department
    count 7.000000 7.000000
    mean 26.428571 3857.142857
    std 3.976719 1141.396572
    min 22.000000 2500.000000
    25% 23.500000 3250.000000
    50% 25.000000 3500.000000
    75% 29.000000 4250.000000
    max 32.000000 5500.000000
    unique NaN NaN 3
    top NaN NaN HR
    freq NaN NaN 3
    示例 2:自定义分位数
    print(df.describe(percentiles=[0.1, 0.9]))

    输出

    Age       Salary
    count 7.000000
    mean 26.428571
    std 3.976719
    min 22.000000
    10% 22.600000
    50% 25.000000
    90% 31.200000
    max 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() 的关键点:

    • 默认统计数值列,提供均值、标准差、分位数等描述性统计信息。
    • 非数值列提供唯一值、频率等统计信息。
    • 参数 includeexclude 控制要分析的数据类型。
    • percentiles 参数允许自定义分位数,了解数据的分布。

    使用场景

    • 初步数据探索,快速了解数据的特征和分布。
    • 检查数据质量(如缺失值和异常值)。
    • 分析分类数据的分布和频率。

    转载地址:http://qnvfk.baihongyu.com/

    你可能感兴趣的文章
    oracle中新建用户和赋予权限
    查看>>
    Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
    查看>>
    Oracle中的rownum 和rowid的用法和区别
    查看>>
    oracle中的大小写、字符、dual、数字、处理、日期、函数、显/隐式、时间、条件表达式case、decode、to_date、to_char、sysdate
    查看>>
    oracle中表和视图的区别,oracle中常用表和视图
    查看>>
    oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)
    查看>>
    oracle从备份归档日志的方法集中回收
    查看>>
    oracle优化器analyzed,Oracle 学习之 性能优化(十三) 索引
    查看>>
    Oracle修改字段类型
    查看>>
    Oracle修改表或者字段的注释
    查看>>
    oracle典型安装失败,安装oracle 10失败
    查看>>
    Oracle内存结构详解(四)--Oracle SGA其他组成部分
    查看>>
    Oracle函数与存储过程和程序包
    查看>>
    Oracle分析函数之LEAD和LAG
    查看>>
    Oracle分组取前n条记录
    查看>>
    Oracle创建database link(dblink)和同义词(synonym)
    查看>>
    oracle创建数据库的步骤
    查看>>
    Oracle创建用户、角色、授权、建表
    查看>>
    Oracle创建用户与授予表空间与权限
    查看>>
    oracle创建表(并且实现ID自增)
    查看>>