当涉及到 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']
})
假设我们想对数值列 col1
和 col2
进行统计描述。我们可以像这样使用 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.25
,0.5
,0.75
。include
: 指定哪些数据类型的列将被包括在描述中。默认是None
,即包括所有数值列。exclude
: 指定哪些数据类型的列将被排除在描述中。默认是None
,即不排除任何列。datetime_is_numeric
: 指定在日期时间列中,是否将日期时间视为数字。默认为False
,即不将日期时间列视为数字。
更多关于 describe()
函数的详细参数和示例,请参考官方文档。