本文主要介绍如何使用df.describe()
, df.mean()
, df.sum()
, df.max()
, 和 df.min()
。
步骤 1: 创建 DataFrame
首先,我们需要创建一个包含一些基本数据的 DataFrame。我们将使用一个假想的销售数据集,其中包括日期、产品ID、销售数量和单价。
import pandas as pd
# 创建数据字典
data = {
'日期': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05'],
'产品ID': ['A', 'B', 'C', 'D', 'E'],
'销售数量': [10, 20, 15, 30, 25],
'单价': [20, 15, 25, 10, 30]
}
# 创建 DataFrame
df = pd.DataFrame(data)
# 转换日期列至日期时间格式
df['日期'] = pd.to_datetime(df['日期'])
# 显示 DataFrame
print(df)
步骤 2: 使用 df.describe()
df.describe()
方法是一个非常强大的工具,可以快速生成数据集的基本统计摘要。它默认只显示数值型列的统计信息,包括计数、平均值、标准差、最小值、分位数(25%, 50%, 75%)和最大值。
# 打印描述性统计
print(df.describe())
# 如果想包括非数值型列,可以使用 include='all'
print(df.describe(include='all'))
步骤 3: 使用 df.mean()
df.mean()
方法计算DataFrame中数值列的平均值。如果DataFrame中只有一列是数值型的,它将返回该列的平均值;如果有多个数值列,它将返回一个Series,其中包含每个数值列的平均值。
# 计算平均销售数量
print(df['销售数量'].mean())
# 计算所有数值列的平均值
print(df.mean())
步骤 4: 使用 df.sum()
df.sum()
方法计算DataFrame中数值列的总和。与df.mean()
相似,如果DataFrame中只有一列是数值型的,它将返回该列的总和;如果有多个数值列,它将返回一个Series,其中包含每个数值列的总和。
# 计算销售数量的总和
print(df['销售数量'].sum())
# 计算所有数值列的总和
print(df.sum())
步骤 5: 使用 df.max()
和 df.min()
df.max()
和 df.min()
方法分别用于找到DataFrame中数值列的最大值和最小值。
# 找到销售数量的最大值和最小值
print(df['销售数量'].max())
print(df['销售数量'].min())
# 找到所有数值列的最大值和最小值
print(df.max())
print(df.min())
汇总代码
简单的数据集:
日期 | 产品ID | 销售数量 | 单价 |
---|---|---|---|
2023-01-01 | A | 10 | 20 |
2023-01-02 | B | 20 | 15 |
2023-01-03 | C | 15 | 25 |
2023-01-04 | D | 30 | 10 |
2023-01-05 | E | 25 | 30 |
接下来,我们将使用Python和Pandas库来创建这个数据集,并使用上述提到的数据统计方法。
import pandas as pd
# 创建数据字典
data = {
'日期': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05'],
'产品ID': ['A', 'B', 'C', 'D', 'E'],
'销售数量': [10, 20, 15, 30, 25],
'单价': [20, 15, 25, 10, 30]
}
# 创建 DataFrame
df = pd.DataFrame(data)
# 转换日期列至日期时间格式
df['日期'] = pd.to_datetime(df['日期'])
# 打印原始数据
print("原始数据:")
print(df)
# 使用 df.describe()
print("\n描述性统计:")
print(df.describe())
# 使用 df.mean()
print("\n平均销售数量:")
print(df['销售数量'].mean())
print("\n所有数值列的平均值:")
print(df.mean())
# 使用 df.sum()
print("\n销售数量总和:")
print(df['销售数量'].sum())
print("\n所有数值列的总和:")
print(df.sum())
# 使用 df.max() 和 df.min()
print("\n销售数量的最大值和最小值:")
print(df['销售数量'].max(), df['销售数量'].min())
print("\n所有数值列的最大值和最小值:")
print(df.max())
print(df.min())
这段代码将输出以下结果:
原始数据:
日期 产品ID 销售数量 单价
0 2023-01-01 A 10 20
1 2023-01-02 B 20 15
2 2023-01-03 C 15 25
3 2023-01-04 D 30 10
4 2023-01-05 E 25 30
描述性统计:
销售数量 单价
count 5.000000 5.000000
mean 18.000000 18.000000
std 7.905694 8.291562
min 10.000000 10.000000
25% 15.000000 15.000000
50% 20.000000 20.000000
75% 25.000000 25.000000
max 30.000000 30.000000
平均销售数量:
18.0
所有数值列的平均值:
销售数量 18.0
单价 18.0
dtype: float64
销售数量总和:
90
所有数值列的总和:
销售数量 90
单价 90
dtype: int64
销售数量的最大值和最小值:
30 10
所有数值列的最大值和最小值:
销售数量 30
单价 30
dtype: int64
销售数量 10
单价 10
dtype: int64