在Python的数据分析领域中,Pandas 是最常用、最强大的数据处理与分析工具。无论是Excel表格、CSV文件、数据库数据还是API接口返回的数据,Pandas都能轻松接管并进行高效处理。 如果说 Numpy 是数据运算的基础 ,那么 Pandas 就是数据分析的灵魂。
本篇博客将带你掌握 Pandas 的核心用法:从数据加载、清洗、选择、统计到保存输出,一步步学会用Python像Excel高手一样操作数据。
一、Pandas简介
Pandas名字来源于"Panel Data",意为面板数据。 它提供了两种核心数据结构:
- Series:一维带标签的数据结构(类似于表格中的一列)
- 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数据可视化与高级分析技巧,帮助你从数据中挖掘更深层的价值。