Python Pandas 数据处理技巧详解:高效利用利器进行数据处理
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 进行数据分析
作者:Python数据分析工人