Pandas 模块常用功能与方法总结
Pandas 是 Python 的核心数据分析库,基于 NumPy 构建,提供高效的数据结构(如 DataFrame
和 Series
)和数据处理工具。以下是其核心功能及常用方法:
一、数据结构
1. Series
(一维带标签数组)
- 创建:
import pandas as pd
s = pd.Series([1, 3, 5, np.nan], index=['a', 'b', 'c', 'd'])
- 常用操作:
方法 | 说明 | 示例 |
---|
s.values | 获取值数组 | [1, 3, 5, nan] |
s.index | 获取索引 | Index(['a', 'b', 'c', 'd']) |
s.loc[] | 按标签访问 | s.loc['b'] → 3 |
s.iloc[] | 按位置访问 | s.iloc[1] → 3 |
2. DataFrame
(二维表格)
- 创建:
df = pd.DataFrame({'A': [1, 2, 3],'B': ['x', 'y', 'z']
})
- 常用属性:
属性 | 说明 | 示例 |
---|
df.shape | 行列数 | (3, 2) |
df.columns | 列名列表 | ['A', 'B'] |
df.dtypes | 列数据类型 | A: int64, B: object |
二、数据读取与写入
1. 读取数据
方法 | 说明 | 示例 |
---|
pd.read_csv() | 读取 CSV | df = pd.read_csv('data.csv') |
pd.read_excel() | 读取 Excel | df = pd.read_excel('data.xlsx') |
pd.read_sql() | 从 SQL 读取 | pd.read_sql('SELECT * FROM table', conn) |
2. 写入数据
方法 | 说明 | 示例 |
---|
df.to_csv() | 保存为 CSV | df.to_csv('output.csv') |
df.to_excel() | 保存为 Excel | df.to_excel('output.xlsx') |
df.to_sql() | 写入 SQL 数据库 | df.to_sql('table', conn) |
三、数据查看与筛选
1. 查看数据
方法 | 说明 | 示例 |
---|
df.head(n) | 查看前 n 行 | df.head(5) |
df.tail(n) | 查看后 n 行 | df.tail(3) |
df.info() | 数据摘要 | 显示列名、非空值数量等 |
df.describe() | 统计描述 | 均值、标准差、分位数等 |
2. 数据筛选
方法 | 说明 | 示例 |
---|
列筛选 | 选择列 | df['A'] 或 df[['A', 'B']] |
行筛选 | 按条件选择行 | df[df.A > 2] |
df.loc[] | 按标签筛选 | df.loc[df.index[0:2], 'A'] |
df.iloc[] | 按位置筛选 | df.iloc[0:2, 1] |
四、数据清洗
1. 处理缺失值
方法 | 说明 | 示例 |
---|
df.isna() | 检测缺失值 | df.isna().sum() |
df.dropna() | 删除缺失值 | df.dropna(axis=0) |
df.fillna() | 填充缺失值 | df.fillna(0) |
2. 去重与替换
方法 | 说明 | 示例 |
---|
df.drop_duplicates() | 删除重复行 | df.drop_duplicates() |
df.replace() | 替换值 | df.replace({'x': 'new'}) |
3. 类型转换
df['A'] = df['A'].astype('float') # 转换为浮点数
五、数据变形
1. 排序
方法 | 说明 | 示例 |
---|
df.sort_values() | 按值排序 | df.sort_values('A', ascending=False) |
df.sort_index() | 按索引排序 | df.sort_index() |
2. 分组与聚合
方法 | 说明 | 示例 |
---|
df.groupby() | 分组 | df.groupby('B').mean() |
df.pivot_table() | 透视表 | pd.pivot_table(df, values='A', index='B') |
3. 合并与连接
方法 | 说明 | 示例 |
---|
pd.concat() | 拼接数据 | pd.concat([df1, df2]) |
pd.merge() | 类似 SQL JOIN | pd.merge(df1, df2, on='key') |
六、时间序列处理
1. 时间戳转换
df['date'] = pd.to_datetime(df['date'])
2. 时间索引操作
方法 | 说明 | 示例 |
---|
df.resample() | 重采样 | df.resample('D').mean() |
df.rolling() | 滚动窗口 | df.rolling(7).mean() |
七、高效计算技巧
1. 向量化操作
df['C'] = df['A'] + df['B'] # 避免循环
2. 应用函数
df['A'] = df['A'].apply(lambda x: x * 2)
3. 性能优化
总结
Pandas 的核心功能围绕 表格数据处理,适用于:
- 数据清洗(处理缺失值、去重)
- 数据转换(分组、聚合、透视)
- 数据分析(统计、时间序列分析)
- 数据可视化(结合 Matplotlib/Seaborn)
学习建议:
- 掌握
DataFrame
和 Series
的基本操作。 - 熟练使用
groupby
、merge
等高级功能。 - 结合真实数据集练习(如 Kaggle 数据集)。
官方文档:pandas.pydata.org