Python Pandas 模块详解
Pandas 是 Python 的核心数据分析库,提供高效的数据结构和数据处理工具。核心功能如下:
1. 核心数据结构
-
Series
一维带标签数组,类似增强版 NumPy 数组:import pandas as pd s = pd.Series([3, 7, 2], index=['a', 'b', 'c']) print(s['b']) # 输出: 7 -
DataFrame
二维表格型数据结构(核心对象):data = {'姓名': ['张三', '李四'], '年龄': [25, 30]} df = pd.DataFrame(data) print(df)输出:
姓名 年龄 0 张三 25 1 李四 30
2. 数据导入/导出
# 从 CSV 导入
df = pd.read_csv('data.csv')
# 导出到 Excel
df.to_excel('output.xlsx', index=False)
支持格式:CSV、JSON、SQL、Excel、Parquet 等。
3. 数据查看与选择
-
基础查看:
df.head(3) # 查看前3行 df.describe() # 统计摘要 -
数据选择:
df['年龄'] # 选择列 df.loc[1] # 按标签选择行 df.iloc[0:2] # 按位置切片 df.query('年龄 > 25') # 条件查询
4. 数据清洗
-
缺失值处理:
df.dropna() # 删除缺失值 df.fillna(0) # 填充为0 -
重复值处理:
df.drop_duplicates() # 删除重复行 -
类型转换:
df['年龄'] = df['年龄'].astype(float) # 转换为浮点数
5. 数据处理
-
新增列:
df['出生年'] = 2023 - df['年龄'] -
合并数据:
pd.concat([df1, df2]) # 纵向堆叠 pd.merge(df1, df2, on='ID') # 按列连接 -
分组聚合:
df.groupby('部门')['薪资'].mean() # 按部门求平均薪资
6. 时间序列处理
# 创建时间序列
date_rng = pd.date_range(start='2023-01-01', periods=5, freq='D')
ts = pd.Series([1, 3, 5, 7, 9], index=date_rng)
# 重采样
ts.resample('2D').mean() # 每2天求均值
7. 数据可视化
df.plot(kind='bar', x='姓名', y='年龄') # 柱状图
df['年龄'].plot.hist() # 直方图
8. 高级功能
-
分类数据:
df['部门'] = df['部门'].astype('category') -
内存优化:
df = pd.read_csv('data.csv', dtype={'ID': 'int32'})
9. 性能优化
-
向量化操作:
# 避免循环,直接向量计算 df['奖金'] = df['薪资'] * 0.1 -
大数据处理:
# 分块读取大文件 for chunk in pd.read_csv('big_data.csv', chunksize=10000): process(chunk)
应用场景
- 数据清洗与预处理
- 统计分析
- 时间序列分析
- 机器学习数据准备
- 金融数据分析(如股票数据处理)
最佳实践:
- 优先使用向量化操作替代循环
- 处理大型数据时使用
chunksize参数- 使用
dtype指定数据类型减少内存占用- 复杂操作可结合 NumPy 加速计算
2177

被折叠的 条评论
为什么被折叠?



