Pandas 常用函数
Pandas 提供了大量用于数据处理和分析的函数,以下是一些常用的函数:
通用函数
| 函数 | 描述 |
|---|---|
pd.isna(obj) | 检查对象是否为缺失值。 |
pd.notna(obj) | 检查对象是否不为缺失值。 |
pd.concat(objs, axis) | 连接多个对象。 |
pd.merge(left, right, on) | 按列合并 DataFrame。 |
pd.get_dummies(data) | 分类变量 One-Hot 编码。 |
pd.cut(x, bins) | 连续数据分箱。 |
pd.qcut(x, q) | 按分位数分箱。 |
pd.to_numeric(arg) | 转换为数值。 |
pd.to_datetime(arg) | 转换为时间。 |
pd.unique(values) | 获取唯一值。 |
pd.value_counts(values) | 统计频次。 |
pd.factorize(values) | 编码分类变量。 |
pd.crosstab(index, columns) | 交叉表。 |
pd.pivot_table(data) | 透视表。 |
pd.melt(frame) | 宽转长。 |
数据读取与写入(IO)
| 函数 | 描述 |
|---|---|
pd.read_csv() | 读取 CSV 文件。 |
pd.read_excel() | 读取 Excel。 |
pd.read_json() | 读取 JSON。 |
pd.read_html() | 解析 HTML 表格。 |
pd.read_sql() | 从数据库读取。 |
df.to_csv() | 写入 CSV。 |
df.to_excel() | 写入 Excel。 |
df.to_json() | 写入 JSON。 |
df.to_parquet() | 写入 Parquet。 |
数据清洗
| 函数 | 描述 |
|---|---|
df.dropna() | 删除缺失值。 |
df.fillna() | 填充缺失值。 |
df.replace() | 替换数据。 |
df.drop_duplicates() | 去重。 |
df.astype() | 类型转换。 |
df.rename() | 重命名列。 |
df.sort_values() | 排序。 |
df.reset_index() | 重置索引。 |
数据选择与过滤
| 函数 | 描述 |
|---|---|
df.head() | 前几行。 |
df.tail() | 后几行。 |
df.loc[] | 标签索引。 |
df.iloc[] | 位置索引。 |
df.query() | 条件筛选。 |
df.filter() | 列过滤。 |
分组与聚合
| 函数 | 描述 |
|---|---|
df.groupby() | 分组操作。 |
groupby.sum() | 聚合求和。 |
groupby.mean() | 平均值。 |
groupby.agg() | 多聚合。 |
groupby.transform() | 变换。 |
数学和统计函数
| 函数 | 描述 |
|---|---|
Series.sum() | 求和。 |
Series.mean() | 平均值。 |
Series.median() | 中位数。 |
Series.std() | 标准差。 |
Series.var() | 方差。 |
Series.corr() | 相关系数。 |
Series.quantile() | 分位数。 |
Series.cumsum() | 累计和。 |
字符串处理
| 函数 | 描述 |
|---|---|
Series.str.lower() | 小写。 |
Series.str.upper() | 大写。 |
Series.str.strip() | 去空格。 |
Series.str.replace() | 替换。 |
Series.str.contains() | 匹配。 |
Series.str.split() | 拆分。 |
Series.str.len() | 长度。 |
时间序列
| 函数 | 描述 |
|---|---|
pd.date_range() | 生成日期。 |
pd.Timestamp() | 时间戳。 |
pd.Timedelta() | 时间差。 |
Series.dt.year | 年份。 |
Series.dt.month | 月份。 |
Series.dt.day | 天。 |
Series.dt.weekday | 星期。 |
数据重塑
| 函数 | 描述 |
|---|---|
df.pivot() | 透视。 |
df.pivot_table() | 透视表。 |
df.stack() | 列转行。 |
df.unstack() | 行转列。 |
pd.melt() | 宽转长。 |
实例
import pandas as pd
# 通用函数
s = pd.Series([1, 2, 3, None])
print(pd.isna(s))
# 数学
print(s.sum())
# 字符串
s_str = pd.Series(['a', 'b'])
print(s_str.str.upper())
# 时间
dates = pd.to_datetime(['2023-01-01'])
print(dates.dt.month)
# 通用函数
s = pd.Series([1, 2, 3, None])
print(pd.isna(s))
# 数学
print(s.sum())
# 字符串
s_str = pd.Series(['a', 'b'])
print(s_str.str.upper())
# 时间
dates = pd.to_datetime(['2023-01-01'])
print(dates.dt.month)
如果需要更详细的信息,可以参考 Pandas 官方文档。
