Pandas 常用函数介绍与示例

Pandas 是 Python 中最流行的数据分析库,提供了丰富的函数帮助我们快速完成数据读取、清洗、转换、聚合和可视化等工作。下面挑选了常用的二十余个函数,配以简短说明和可直接运行的代码示例。

1. 读取数据

pd.read_csv()

从 CSV 文件读取数据并返回 DataFrame

import pandas as pd

df = pd.read_csv('sales.csv')
print(df.head())

2. 查看数据结构

DataFrame.head() / tail()

分别查看前几行或后几行。

print(df.head(5))   # 前5行
print(df.tail(3))   # 后3行

3. 基本信息与统计

DataFrame.info()

快速了解列的数据类型、非空数量等。

df.info()

DataFrame.describe()

生成数值列的统计摘要。

print(df.describe())

4. 缺失值处理

DataFrame.dropna()

删除包含缺失值的行或列。

# 删除任意包含 NaN 的行
df_clean = df.dropna()

DataFrame.fillna()

用指定值填充缺失值。

# 将缺失值填充为 0
df_filled = df.fillna(0)

5. 数据筛选与条件查询

DataFrame.loc[]

基于标签进行行列选择。

# 选取列 'city' 为 '北京' 的行
beijing = df.loc[df['city'] == '北京']

DataFrame.query()

使用字符串表达式进行过滤。

# 选取 sales > 1000 且 region == 'East'
result = df.query('sales > 1000 and region == "East"')

6. 数据转换

Series.map()

对 Series 中的每个元素执行映射函数,常用于替换或映射。

# 将性别代码 0/1 映射为 '女'/'男'
df['gender_name'] = df['gender'].map({0: '女', 1: '男'})

DataFrame.apply()

对整列或整行应用自定义函数。

# 计算每行的总和
df['total'] = df.apply(lambda row: row['price'] * row['quantity'], axis=1)

DataFrame.astype()

转换列的数据类型。

# 将日期列转换为 datetime 类型
df['date'] = pd.to_datetime(df['date'])

7. 排序与去重

DataFrame.sort_values()

按指定列排序。

# 按 sales 降序排列
df_sorted = df.sort_values('sales', ascending=False)

DataFrame.drop_duplicates()

删除重复行。

# 保留第一条出现的记录
df_unique = df.drop_duplicates()

8. 统计计数

Series.value_counts()

统计每个唯一值出现的次数。

print(df['city'].value_counts())

Series.nunique()

返回唯一值的数量。

print(df['city'].nunique())

9. 分组聚合

DataFrame.groupby()

按一个或多个键分组后进行聚合计算。

# 按地区统计总销售额
grouped = df.groupby('region')['sales'].sum()
print(grouped)

DataFrame.agg()

对分组后数据执行多种聚合函数。

# 计算每个地区的均值和最大值
stats = df.groupby('region')['sales'].agg(['mean', 'max'])
print(stats)

10. 合并与连接

pd.merge()

基于键将两个 DataFrame 合并。

merged = pd.merge(df_orders, df_customers,
                   left_on='customer_id',
                   right_on='id',
                   how='inner')

pd.concat()

沿指定轴拼接多个 DataFrame。

combined = pd.concat([df_jan, df_feb], axis=0)

11. 数据透视表

DataFrame.pivot_table()

创建类似 Excel 透视表的汇总视图。

pivot = df.pivot_table(values='sales',
                        index='region',
                        columns='product',
                        aggfunc='sum')
print(pivot)

12. 重塑结构

DataFrame.melt()

将宽表转换为长表。

long = df.melt(id_vars=['date'],
                value_vars=['sales_A', 'sales_B'],
                var_name='product',
                value_name='sales')

13. 导出数据

DataFrame.to_csv()

将 DataFrame 写入 CSV 文件。

df.to_csv('cleaned_sales.csv', index=False)

14. 简单绘图

Series.plot()

快速绘制折线图(需 matplotlib 支持)。

import matplotlib.pyplot as plt

df['sales'].plot(kind='line')
plt.title('Sales Trend')
plt.show()

15. 其它实用函数


帮助你快速上手 Pandas 常用功能。