Python编程实战——Python实用工具与库:Pandas数据处理

在Python的数据分析领域中,Pandas 是最常用、最强大的数据处理与分析工具。无论是Excel表格、CSV文件、数据库数据还是API接口返回的数据,Pandas都能轻松接管并进行高效处理。 如果说 Numpy 是数据运算的基础 ,那么 Pandas 就是数据分析的灵魂

本篇博客将带你掌握 Pandas 的核心用法:从数据加载、清洗、选择、统计到保存输出,一步步学会用Python像Excel高手一样操作数据。


一、Pandas简介

Pandas名字来源于"Panel Data",意为面板数据。 它提供了两种核心数据结构:

  1. Series:一维带标签的数据结构(类似于表格中的一列)
  2. DataFrame:二维表格型数据结构(类似Excel表)

Pandas的优势在于:

  • 支持多种数据源导入与导出;
  • 提供丰富的数据清洗与处理方法;
  • 支持快速的统计与聚合分析;
  • 与Numpy、Matplotlib无缝结合。

二、安装与导入

bash 复制代码
pip install pandas

导入方式:

python 复制代码
import pandas as pd
print(pd.__version__)

三、创建与查看DataFrame

Pandas的DataFrame类似于一张电子表格,可以由字典、列表或文件创建。

python 复制代码
import pandas as pd

data = {
    "姓名": ["张三", "李四", "王五"],
    "年龄": [25, 30, 22],
    "城市": ["上海", "北京", "广州"]
}

df = pd.DataFrame(data)
print(df)

输出:

复制代码
   姓名  年龄  城市
0  张三  25  上海
1  李四  30  北京
2  王五  22  广州

查看数据:

python 复制代码
df.head()     # 查看前5行
df.info()     # 查看数据结构
df.describe() # 查看数值型列的统计信息

四、从文件读取数据

Pandas支持多种数据源:

python 复制代码
# 读取CSV文件
df = pd.read_csv("data.csv")

# 读取Excel文件
df = pd.read_excel("data.xlsx")

# 读取JSON
df = pd.read_json("data.json")

# 保存为Excel
df.to_excel("输出结果.xlsx", index=False)

在数据分析中,读取和保存数据往往是最常见的操作。


五、数据选择与筛选

1. 按列选择

python 复制代码
df["姓名"]
df[["姓名", "城市"]]

2. 按行选择(loc / iloc)

python 复制代码
df.loc[0]          # 按标签选择第一行
df.iloc[1:3]       # 按位置选择第2到第3行

3. 条件筛选

python 复制代码
df[df["年龄"] > 25]
df[(df["城市"] == "上海") & (df["年龄"] < 30)]

六、数据修改与新增

添加新列

python 复制代码
df["收入"] = [8000, 12000, 7000]

修改数据

python 复制代码
df.loc[1, "城市"] = "深圳"

删除列或行

python 复制代码
df.drop(columns=["收入"], inplace=True)
df.drop(index=[0], inplace=True)

七、缺失值与重复值处理

1. 处理缺失值

python 复制代码
df.isna().sum()        # 统计缺失值数量
df.dropna(inplace=True)  # 删除包含空值的行
df.fillna("未知", inplace=True)  # 用指定值填充

2. 去重

python 复制代码
df.drop_duplicates(inplace=True)

八、分组与聚合分析(GroupBy)

分组统计是Pandas最强大的功能之一。

python 复制代码
data = {
    "城市": ["上海", "北京", "上海", "广州", "北京"],
    "销售额": [100, 120, 90, 80, 150]
}
df = pd.DataFrame(data)

grouped = df.groupby("城市")["销售额"].sum()
print(grouped)

输出:

yaml 复制代码
城市
北京    270
广州     80
上海    190
Name: 销售额, dtype: int64

九、数据排序与索引重置

python 复制代码
df.sort_values(by="年龄", ascending=False, inplace=True)
df.reset_index(drop=True, inplace=True)

十、实战:Excel客户数据清洗

假设你有一个Excel表格 客户信息.xlsx,包含以下列: 姓名、手机号、城市、注册时间。

目标:清洗无效手机号、去除重复客户、统计各城市人数。

python 复制代码
import pandas as pd

df = pd.read_excel("客户信息.xlsx")

# 去除手机号为空的记录
df = df.dropna(subset=["手机号"])

# 去除重复手机号
df = df.drop_duplicates(subset=["手机号"])

# 统计各城市客户数量
city_stats = df["城市"].value_counts()

# 保存结果
city_stats.to_excel("城市客户统计.xlsx")
print("处理完成,已生成城市统计文件")

这段代码展示了Pandas在实际工作中的高效与便捷。


十一、小结

通过本篇,你已经掌握了:

  • Pandas的基本数据结构(Series与DataFrame)
  • 数据读取、选择、修改与清洗
  • 聚合分析与统计操作
  • 实战:Excel客户数据清洗

Pandas的强大之处在于它能用简洁的代码完成复杂的数据处理逻辑。 在后续章节中,我们将进一步学习 Pandas数据可视化与高级分析技巧,帮助你从数据中挖掘更深层的价值。


相关推荐
凸头2 小时前
Spring Boot接收前端参数的注解总结
前端·spring boot·后端
程序员爱钓鱼2 小时前
Python编程实战——Python实用工具与库:Numpy基础
后端·python·面试
程序员霸哥哥2 小时前
从零搭建PyTorch计算机视觉模型
人工智能·pytorch·python·计算机视觉
Victor3562 小时前
Redis(112)Redis的主从复制如何实现?
后端
Victor3562 小时前
Redis(113)Redis的哨兵机制如何使用?
后端
♡喜欢做梦2 小时前
Spring IOC
java·后端·spring
IT_陈寒2 小时前
Vue 3性能优化实战:7个关键技巧让我的应用加载速度提升50%
前端·人工智能·后端
晚秋大魔王2 小时前
基于python的jlink单片机自动化批量烧录工具
前端·python·单片机
胖哥真不错2 小时前
Python基于PyTorch实现多输入多输出进行CNN卷积神经网络回归预测项目实战
pytorch·python·毕业设计·课程设计·毕设·多输入多输出·cnn卷积神经网络回归预测