Python pandas的describe函数参数示例详解

 更新时间:2024年04月30日 11:27:18   作者:littlebigluo  
describe()函数是pandas 中一个十分实用的工具,用于快速获取数据集的描述性统计信息,本文详细介绍了该函数的各种参数及其用法,包括控制输出的百分位数、列类型以及是否将日期时间列视为数值型列等,感兴趣的朋友一起看看吧

在数据分析和数据预处理过程中,了解数据集的基本统计信息是非常重要的。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 参数用于指定要统计的数据类型,可选值为 allnumberobject,默认为 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函数参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VScode编写第一个Python程序HelloWorld步骤

    VScode编写第一个Python程序HelloWorld步骤

    VScode是微软去年推出的一款轻量级编辑器,功能上和Atom、Sublime Text、Vim类似,你可以通过配置将它打造成合适的IDE,这里简单介绍一下,需要的朋友可以参考下
    2018-04-04
  • python时间日期相加减的实现示例

    python时间日期相加减的实现示例

    在实际开发中,我们经常需要对日期进行加减操作,本文主要介绍了python时间日期相加减的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 简单介绍Python中的filter和lambda函数的使用

    简单介绍Python中的filter和lambda函数的使用

    这篇文章主要简单介绍了Python中的filter和lambda函数的使用,是Python学习中的基础,同时lambda匿名函数的使用也是经常被用来对比各种编程语的重要特性,言需要的朋友可以参考下
    2015-04-04
  • python 装饰器详解与应用范例

    python 装饰器详解与应用范例

    装饰器是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。 首先,让我们讨论下如何写你自己的装饰器
    2021-11-11
  • python 基于selenium实现鼠标拖拽功能

    python 基于selenium实现鼠标拖拽功能

    这篇文章主要介绍了python 基于selenium实现鼠标拖拽功能的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • Django 用户认证组件使用详解

    Django 用户认证组件使用详解

    这篇文章主要介绍了Django 用户认证组件使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python Pandas分组聚合的实现方法

    Python Pandas分组聚合的实现方法

    这篇文章主要介绍了Python Pandas分组聚合的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • pyftplib中文乱码问题解决方案

    pyftplib中文乱码问题解决方案

    这篇文章主要介绍了pyftplib中文乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 基于Python 的语音重采样函数解析

    基于Python 的语音重采样函数解析

    这篇文章主要介绍了基于Python 的语音重采样函数解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python中sort sorted reverse reversed函数的区别说明

    python中sort sorted reverse reversed函数的区别说明

    这篇文章主要介绍了python中sort sorted reverse reversed函数的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05

最新评论