Pandas中describe()函数的具体使用

  • Post category:Python

当涉及到 Pandas 的数据探索时,describe() 函数是一个非常有用的工具。这个函数提供了对 DataFrame 中数值列的基本统计信息,例如数量、均值、标准差、最小值、最大值和四分位数。

使用 describe() 函数

要使用 describe() 函数,首先需要使用 Pandas 将数据加载到 DataFrame 中。让我们假设我们有一个包含多个数据类型的 DataFrame,其中数值列包含示例数据。我们可以使用以下代码将数据加载到 DataFrame:

import pandas as pd

example_data = pd.DataFrame({
    'col1': [1, 2, 3, 4, 5],
    'col2': [0.1, 0.5, 0.4, 1.2, 3.8],
    'col3': ['a', 'b', 'c', 'd', 'e']
})

假设我们想对数值列 col1col2 进行统计描述。我们可以像这样使用 describe() 函数:

# 调用 describe() 函数,并传入需要描述的列名列表
example_data[['col1', 'col2']].describe()

输出如下所示:

           col1      col2
count  5.000000  5.000000
mean   3.000000  1.000000
std    1.581139  1.462847
min    1.000000  0.100000
25%    2.000000  0.400000
50%    3.000000  0.500000
75%    4.000000  1.200000
max    5.000000  3.800000

输出结果显示了数值列的统计信息,包括记录总数、均值、标准差、最小值、最大值以及四分位数。下面我们再看一个示例。

import numpy as np

example_data2 = pd.DataFrame({
    'col1': [np.nan, 2, 3, np.nan, 5, 6],
    'col2': [1, 2, 3, 4, 5, 'NaN'],
    'col3': [0.1, 0.5, 0.4, 1.2, 3.8, 0.5]
})

# 转化'col2'列的数据类型,并排除'col2'和'col3'列进行描述
example_data2['col2'] = pd.to_numeric(example_data2['col2'], errors='coerce')
example_data2_describe = example_data2.describe(exclude=[np.object])
print(example_data2_describe)

输出如下所示:

           col1      col2      col3
count  4.000000  5.000000  6.000000
mean   4.000000  3.000000  1.516667
std    1.825742  1.581139  1.421295
min    2.000000  1.000000  0.100000
25%    3.000000  2.000000  0.425000
50%    4.500000  3.000000  0.500000
75%    5.500000  4.000000  2.000000
max    6.000000  5.000000  3.800000

从这个例子中,我们可以看到:

  • 由于在’col2’列中包含字符串 ‘NaN’,因此我们需要使用pd.to_numeric()函数,将其转化为缺失值。
  • 我们还排除了’col2’和’col3’两列,只对包含数值(默认)的列进行描述。

describe() 函数的参数

describe() 函数可以有几个参数。下面是一些常见的参数:

  • percentiles: 指定要返回的百分比列表。 默认是 0.250.50.75
  • include: 指定哪些数据类型的列将被包括在描述中。默认是 None,即包括所有数值列。
  • exclude: 指定哪些数据类型的列将被排除在描述中。默认是 None,即不排除任何列。
  • datetime_is_numeric: 指定在日期时间列中,是否将日期时间视为数字。默认为 False,即不将日期时间列视为数字。

更多关于 describe() 函数的详细参数和示例,请参考官方文档。