Pandas入门:数据处理和分析的强大工具

Pandas 是 Python 中用于数据处理和分析的库,提供了多种实用的 API。以下是常用的 Pandas API 和具体例子,帮助你快速上手数据处理。

1. 数据读取和写入

API

  • read_csv() : 读取 CSV 文件
  • to_csv() : 写入 CSV 文件
  • read_excel() : 读取 Excel 文件
  • to_excel() : 写入 Excel 文件
  • read_json() : 读取 JSON 文件
  • to_json() : 写入 JSON 文件

例子

ini 复制代码
python
import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('data.csv')

# 写入 CSV 文件
df.to_csv('output.csv', index=False)

# 读取 Excel 文件
df_excel = pd.read_excel('data.xlsx')

# 写入 Excel 文件
df_excel.to_excel('output.xlsx', index=False)

2. 数据合并和连接

API

  • merge() : 根据指定键合并多个 DataFrame
  • concat() : 合并多个 DataFrame
  • join() : 通过索引合并两个 DataFrame

例子

ini 复制代码
python
# 创建两个 DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value2': [4, 5, 6]})

# 使用 merge() 合并
df_merged = pd.merge(df1, df2, on='key')

# 使用 concat() 合并
df_concat = pd.concat([df1, df2], axis=1)

# 使用 join() 合并
df_joined = df1.set_index('key').join(df2.set_index('key'))

3. 数据清洗和处理

API

  • dropna() : 删除包含缺失值的行或列
  • fillna() : 填充缺失值
  • drop_duplicates() : 删除重复行
  • sort_values() : 按指定列排序

例子

ini 复制代码
python
# 删除包含缺失值的行
df.dropna(inplace=True)

# 填充缺失值为 0
df.fillna(0, inplace=True)

# 删除重复行
df.drop_duplicates(inplace=True)

# 按指定列排序
df.sort_values(by='column_name', inplace=True)

4. 数据分组和聚合

API

  • groupby() : 按指定列分组
  • agg() : 对每个分组应用聚合函数

例子

ini 复制代码
python
# 按指定列分组并计算均值
df_grouped = df.groupby('column_name').mean()

# 对多个列进行聚合计算
df_grouped = df.groupby('column_name').agg({'col1': 'sum', 'col2': 'mean'})

5. 数据转换和重塑

API

  • pivot() : 按指定行列重塑表格
  • melt() : 将宽格式数据转换为长格式

例子

ini 复制代码
python
# 使用 pivot() 重塑表格
df_pivot = df.pivot(index='index_col', columns='column_col', values='value_col')

# 使用 melt() 转换数据格式
df_melt = pd.melt(df, id_vars='id_col', value_vars=['col1', 'col2'])

实用案例:数据分析

假设我们有一个包含学生考试成绩的 DataFrame,想要计算每个班级的平均成绩。

bash 复制代码
python
# 创建 DataFrame
data = {
    '班级': ['A', 'A', 'B', 'B', 'C', 'C'],
    '姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八'],
    '成绩': [90, 85, 95, 88, 92, 89]
}
df = pd.DataFrame(data)

# 按班级分组计算平均成绩
average_scores = df.groupby('班级')['成绩'].mean()

print(average_scores)

这个例子展示了如何使用 groupby()mean() 方法来计算每个班级的平均成绩。

相关推荐
Mr -老鬼7 分钟前
Rust适合干什么?为什么需要Rust?
开发语言·后端·rust
l1t17 分钟前
利用DeepSeek辅助拉取GitHub存储库目录跳过特定文件方法
人工智能·github·deepseek
123445224 分钟前
Agent入门实战-一个题目生成Agent
人工智能·后端
Hilaku26 分钟前
我用 Gemini 3 Pro 手搓了一个并发邮件群发神器(附源码)
前端·javascript·github
IT_陈寒27 分钟前
Java性能调优实战:5个被低估却提升30%效率的JVM参数
前端·人工智能·后端
快手技术28 分钟前
AAAI 2026|全面发力!快手斩获 3 篇 Oral,12 篇论文入选!
前端·后端·算法
UrbanJazzerati29 分钟前
统计学的"测谎仪":一文搞懂方差、标准差与“N-1”的秘密
面试
颜酱29 分钟前
前端算法必备:滑动窗口从入门到很熟练(最长/最短/计数三大类型)
前端·后端·算法
8***f39530 分钟前
Spring容器初始化扩展点:ApplicationContextInitializer
java·后端·spring
用户2986985301432 分钟前
C#: 如何自动化创建Word可填写表单,告别手动填写时代
后端·c#·.net