Pandas 数据分析与处理

精选 Pandas 常用指令与核心速查备忘单,涵盖高频用法、配置参数与实用技巧。 Pandas 是 Python 中强大的数据分析与结构化操作库。本备忘单为数据科学初学者提供常用的 API 快捷速查参考。

#🚀 入门指引

#入门介绍

开始使用前,需先导入 Pandas 模块:

import pandas as pd

#创建数据框 (Creating DataFrames)

方法/代码 功能描述
pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]}) 从 Python 字典创建 DataFrame
pd.DataFrame(data=[{'a': 1, 'b': 2}, {'a': 3, 'b': 4}]) 从字典列表创建 DataFrame
pd.read_csv('file.csv') 从 CSV 文件读取创建
pd.read_excel('file.xlsx') 从 Excel 文件读取创建

#数据查看与检查 (Inspecting Data)

方法/代码 功能描述
df.head() 查看前 5 行数据
df.tail() 查看后 5 行数据
df.shape 查看行数与列数 (行数, 列数)
df.info() 查看 DataFrame 的数据类型与内存概况
df.describe() 查看数值列的描述性统计摘要
df.columns 查看所有列名列表
df.index 查看索引信息
df.dtypes 查看各列对应的数据类型

#数据选择与切片 (Selecting Data)

方法/代码 功能描述
df['col1'] 按列名选择单列数据
df[['col1', 'col2']] 选择多列数据
df.loc[0] 按标签索引选择单行
df.loc[:, 'col1'] 使用标签选择 'col1' 的所有行
df.iloc[0] 按绝对位置选择单行
df.iloc[0, 1] 按行列绝对位置选择具体单元格数据
df[df['col1'] > 2] 按布尔条件筛选行

#数据清洗与预处理 (Data Cleaning)

方法/代码 功能描述
df.dropna() 删除包含任意缺失值 (NaN) 的行
df.dropna(axis=1) 删除包含任意缺失值 (NaN) 的列
df.fillna(0) 将所有缺失值 (NaN) 填充替换为 0
df.drop_duplicates() 删除完全重复的行
df.rename(columns={'old_name': 'new_name'}) 重命名列名
df.astype('int') 强制转换数据列的数据类型

#添加与删除数据 (Adding/Removing Data)

方法/代码 功能描述
df['col3'] = df['col1'] + df['col2'] 新增衍生数据列
df.drop('col1', axis=1) 删除指定的列
df.append(new_row) 追加新数据行
df.insert(2, 'new_col', new_data) 在位置 2 处插入新列

#数据合并与联结 (Combining Data)

方法/代码 功能描述
pd.concat([df1, df2]) 纵向拼接多个 DataFrame 的行
pd.concat([df1, df2], axis=1) 横向拼接多个 DataFrame 的列
pd.merge(df1, df2, on='key') 基于指定公共键内联结 (Merge)
pd.merge(df1, df2, left_on='key1', right_on='key2') 基于左右两侧不同键进行联结
df1.join(df2, lsuffix='_left', rsuffix='_right') 基于索引进行 Join 联结

#聚合统计与分组 (Aggregating Data)

方法/代码 功能描述
df['col1'].sum() 计算指定列的累加求和
df['col1'].mean() 计算指定列的平均值
df['col1'].count() 计算指定列非空元素的数量
df['col1'].min() 计算指定列的最小值
df['col1'].max() 计算指定列的最大值
df['col1'].std() 计算指定列的标准差
df['col1'].var() 计算指定列的方差
df.groupby('col1').sum() 按指定列分组并求和
df.groupby('col1').mean() 按指定列分组并计算均值
df.groupby(['col1', 'col2']).count() 按多列组合分组并计数

#自定义函数映射 (Applying Functions)

方法/代码 功能描述
df.apply(np.sqrt) 对所有元素应用指定函数
df['col1'].apply(lambda x: x ** 2) 对指定列元素应用 Lambda 函数
df.applymap(str) 对 DataFrame 每一个元素映射指定类型函数
df['col1'].map({'a': 1, 'b': 2}) 字典映射转换值
df['col1'].replace('a', 1) 替换指定的值

#日期与时间处理 (Handling Dates)

方法/代码 功能描述
df['date'] = pd.to_datetime(df['date']) 转换为 Datetime 时间类型
df['year'] = df['date'].dt.year 提取年份信息 (Year)
df['month'] = df['date'].dt.month 提取月份信息 (Month)
df['day'] = df['date'].dt.day 提取天数信息 (Day)
df.set_index('date', inplace=True) 将日期列设置为索引

#输入与输出保存 (Input/Output)

方法/代码 功能描述
df.to_csv('file.csv') 将 DataFrame 保存至 CSV 文件
df = pd.read_csv('file.csv') 从 CSV 文件读取加载 DataFrame
df.to_excel('file.xlsx') 将 DataFrame 保存至 Excel 文件
df = pd.read_excel('file.xlsx') 从 Excel 文件读取加载 DataFrame
from sqlalchemy import create_engine 导入 SQLAlchemy 用于数据库交互
engine = create_engine('sqlite:///:memory:') 创建 SQL 数据库连接引擎
df.to_sql('table_name', engine) 将 DataFrame 写入 SQL 数据库表
df = pd.read_sql('table_name', engine) 从 SQL 数据库表中查询加载 DataFrame