Pandas 是 Python 数据分析的核心库之一,提供了快速、灵活且富有表现力的数据结构。下面我将介绍一些实用的 Pandas 技巧,并通过一个完整的代码示例展示如何高效使用 Pandas 进行数据处理。
1. 基础数据结构
Pandas 主要有两种数据结构:
-
Series:一维数组,类似于带标签的 NumPy 数组
-
DataFrame:二维表格型数据结构,可以看作 Series 的容器
2. 实用技巧与代码示例
示例:销售数据分析
import pandas as pd
import numpy as np
# 创建示例数据
data = {
'Date': pd.date_range(start='2023-01-01', periods=10),
'Product': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'B', 'A', 'C'],
'Sales': [120, 150, 135, 90, 110, 95, 130, 145, 115, 125],
'Region': ['North', 'South', 'East', 'West', 'North', 'South', 'East', 'West', 'North', 'South']
}
df = pd.DataFrame(data)
print("原始数据:")
print(df)
结果:
原始数据: Date Product Sales Region 0 2023-01-01 A 120 North 1 2023-01-02 B 150 South 2 2023-01-03 A 135 East 3 2023-01-04 C 90 West 4 2023-01-05 B 110 North 5 2023-01-06 A 95 South 6 2023-01-07 C 130 East 7 2023-01-08 B 145 West 8 2023-01-09 A 115 North 9 2023-01-10 C 125 South
技巧1:数据查看与基本信息
# 查看前几行
print("\n前3行数据:")
print(df.head(3))
# 查看数据基本信息
print("\n数据基本信息:")
print(df.info())
# 描述性统计
print("\n描述性统计:")
print(df.describe())
结果:
前3行数据: Date Product Sales Region 0 2023-01-01 A 120 North 1 2023-01-02 B 150 South 2 2023-01-03 A 135 East 数据基本信息: <class 'pandas.core.frame.DataFrame'> RangeIndex: 10 entries, 0 to 9 Data columns (total 4 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Date 10 non-null datetime64[ns] 1 Product 10 non-null object 2 Sales 10 non-null int64 3 Region 10 non-null object dtypes: datetime64[ns](1), int64(1), object(2) memory usage: 452.0+ bytes None 描述性统计: Date Sales count 10 10.000000 mean 2023-01-05 12:00:00 121.500000 min 2023-01-01 00:00:00 90.000000 25% 2023-01-03 06:00:00 111.250000 50% 2023-01-05 12:00:00 122.500000 75% 2023-01-07 18:00:00 133.750000 max 2023-01-10 00:00:00 150.000000 std NaN 19.727308
技巧2:数据选择与过滤
# 选择单列
products = df['Product']
print("\n产品列:")
print(products)
# 多列选择
subset = df[['Product', 'Sales']]
print("\n产品和销售额列:")
print(subset)
# 条件过滤 - 销售额大于120的记录
high_sales = df[df['Sales'] > 120]
print("\n高销售额记录:")
print(high_sales)
结果:
产品列: 0 A 1 B 2 A 3 C 4 B 5 A 6 C 7 B 8 A 9 C Name: Product, dtype: object 产品和销售额列: Product Sales 0 A 120 1 B 150 2 A 135 3 C 90 4 B 110 5 A 95 6 C 130 7 B 145 8 A 115 9 C 125 高销售额记录: Date Product Sales Region 1 2023-01-02 B 150 South 2 2023-01-03 A 135 East 6 2023-01-07 C 130 East 7 2023-01-08 B 145 West 9 2023-01-10 C 125 South
技巧4:分组与聚合
# 按产品分组计算平均销售额
grouped = df.groupby('Product')['Sales'].mean()
print("\n各产品平均销售额:")
print(grouped)
# 多级分组聚合
multi_group = df.groupby(['Region', 'Product']).agg({
'Sales': ['sum', 'mean', 'count']
})
print("\n按区域和产品的销售汇总:")
print(multi_group)
4. 总结
Pandas 提供了丰富的数据处理功能,掌握这些技巧可以显著提高数据分析效率。本文展示了从基础操作到高级分析的完整流程,包括:
-
数据查看与基本信息获取
-
数据选择与过滤
-
排序与分组聚合
-
缺失值处理
希望这些技巧能帮助你在实际项目中更高效地使用 Pandas 进行数据分析