永恒极光免安装绿色中文版
646M · 2025-11-11
本篇博客将带你掌握 Pandas 的核心用法:从数据加载、清洗、选择、统计到保存输出,一步步学会用Python像Excel高手一样操作数据。
Pandas名字来源于“Panel Data”,意为面板数据。 它提供了两种核心数据结构:
Pandas的优势在于:
pip install pandas
导入方式:
import pandas as pd
print(pd.__version__)
Pandas的DataFrame类似于一张电子表格,可以由字典、列表或文件创建。
import pandas as pd
data = {
"姓名": ["张三", "李四", "王五"],
"年龄": [25, 30, 22],
"城市": ["上海", "北京", "广州"]
}
df = pd.DataFrame(data)
print(df)
输出:
姓名 年龄 城市
0 张三 25 上海
1 李四 30 北京
2 王五 22 广州
查看数据:
df.head() # 查看前5行
df.info() # 查看数据结构
df.describe() # 查看数值型列的统计信息
Pandas支持多种数据源:
# 读取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)
在数据分析中,读取和保存数据往往是最常见的操作。
df["姓名"]
df[["姓名", "城市"]]
df.loc[0] # 按标签选择第一行
df.iloc[1:3] # 按位置选择第2到第3行
df[df["年龄"] > 25]
df[(df["城市"] == "上海") & (df["年龄"] < 30)]
df["收入"] = [8000, 12000, 7000]
df.loc[1, "城市"] = "深圳"
df.drop(columns=["收入"], inplace=True)
df.drop(index=[0], inplace=True)
df.isna().sum() # 统计缺失值数量
df.dropna(inplace=True) # 删除包含空值的行
df.fillna("未知", inplace=True) # 用指定值填充
df.drop_duplicates(inplace=True)
分组统计是Pandas最强大的功能之一。
data = {
"城市": ["上海", "北京", "上海", "广州", "北京"],
"销售额": [100, 120, 90, 80, 150]
}
df = pd.DataFrame(data)
grouped = df.groupby("城市")["销售额"].sum()
print(grouped)
输出:
城市
北京 270
广州 80
上海 190
Name: 销售额, dtype: int64
df.sort_values(by="年龄", ascending=False, inplace=True)
df.reset_index(drop=True, inplace=True)
假设你有一个Excel表格 客户信息.xlsx,包含以下列:
姓名、手机号、城市、注册时间。
目标:清洗无效手机号、去除重复客户、统计各城市人数。
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的强大之处在于它能用简洁的代码完成复杂的数据处理逻辑。 在后续章节中,我们将进一步学习 Pandas数据可视化与高级分析技巧,帮助你从数据中挖掘更深层的价值。