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() 方法来计算每个班级的平均成绩。

相关推荐
kyriewen7 小时前
DOM树与节点操作:用JS给网页“动手术”
前端·javascript·面试
郝学胜-神的一滴7 小时前
【技术实战】500G单行大文件读取难题破解!生成器+自定义函数最优方案解析
开发语言·python·程序人生·面试
晴栀ay7 小时前
Generator + RxJS 重构 LLM 流式输出的“丝滑”架构
javascript·后端·llm
下次一定x7 小时前
深度解析 Kratos 客户端服务发现与负载均衡:从 Dial 入口到 gRPC 全链路落地(下篇)
后端·go
软件测试媛8 小时前
软件测试面试题个人总结
功能测试·面试·ai软件测试
彭于晏Yan8 小时前
SpringBoot整合ECC实现文件签名与验签
java·spring boot·后端
studyForMokey8 小时前
【Android面试】Gradle专题
android·面试·职场和发展
pupudawang8 小时前
Spring EL 表达式的简单介绍和使用
java·后端·spring
深蓝轨迹9 小时前
Redis 消息队列
java·数据库·redis·缓存·面试·秒杀
coderYYY9 小时前
git push报错Authentication failed for ‘xxx’也不会弹要求输入用户名密码的最终解决方法
前端·git·gitee·github