10 分钟上手 Pandas|零基础也能学会的 Python 数据分析
·
前言
如果你经常和 Excel 打交道,处理大量数据时卡顿、重复操作、手动清洗太麻烦,那 Pandas 就是你的神器。它是 Python 最常用的数据分析库,像 “代码版 Excel”,能轻松处理百万行数据,自动化清洗、统计、筛选,学会它,数据分析效率直接起飞。本文以王者荣耀数据为例。
一、安装
打开电脑终端(Windows 用 CMD,Mac/Linux 用终端),输入:
pip install pandas openpyxl
-
pandas:核心库 -
openpyxl:读写 Excel 必备
安装完成后,在代码里导入并简写为 pd:
import pandas as pd
二、两个核心概念:
Pandas 只有两个核心结构,记住就行:
1. Series(一维数据)
可以理解为一列数据,带索引。
s = pd.Series([100, 200, 300], index=["鲁班", "后羿", "狄仁杰"])
print(s)
2. DataFrame(二维表格)
就是完整的 Excel 表格,行 + 列,是我们最常用的对象。
data = {
"英雄名": ["鲁班", "后羿", "狄仁杰"],
"最大生命": [1000, 1200, 1100],
"上线年份": ["2015年", "2015年", "2016年"]
}
df = pd.DataFrame(data)
print(df)
三、最常用操作:
1. 读取文件(Excel/CSV)
# 读取 Excel
df = pd.read_excel("hero.xlsx")
# 读取 CSV
df = pd.read_csv("hero.csv", encoding="utf-8")
2. 快速查看数据
# 前5行
df.head()
# 基本信息(行数、列数、类型)
df.info()
# 统计描述(均值、最大最小等)
df.describe()
# 查看列名
df.columns
3. 选择行列
# 选一列
df["英雄名"]
# 选多列
df[["英雄名", "最大生命", "上线年份"]]
# 按条件筛选(生命 > 1000 的英雄)
df[df["最大生命"] > 1000]
4. 数据清洗
(1)去重
# 整表去重
df = df.drop_duplicates()
# 按某列去重(如按英雄名)
df = df.drop_duplicates(subset=["英雄名"])
(2)删除空值
# 删除英雄ID为空的行
df = df.dropna(subset=["英雄ID"])
(3)填充空值
数字列(生命、攻击)→ 用中位数
df["最大生命"] = df["最大生命"].fillna(df["最大生命"].median())
文字列(年份、名称)→ 用众数(出现最多的值)
df["上线年份"] = df["上线年份"].fillna(df["上线年份"].mode()[0])
5. 简单统计
# 均值
df["最大生命"].mean()
# 总和
df["最大生命"].sum()
# 最大值/最小值
df["最大生命"].max()
df["最大生命"].min()
# 分组统计(按上线年份算平均生命)
df.groupby("上线年份")["最大生命"].mean()
6. 导出结果
# 导出 Excel
df.to_excel("hero_clean.xlsx", index=False)
# 导出 CSV
df.to_csv("hero_clean.csv", index=False, encoding="utf-8")
四、完整实战案例
以王者荣耀英雄数据清洗为例,从头到尾跑一遍:
import pandas as pd
# 1. 读取数据
df = pd.read_excel("hero(1).xlsx")
# 2. 查看数据
print("数据前5行:")
print(df.head())
# 3. 去重
df = df.drop_duplicates()
# 4. 删除无ID的行
df = df.dropna(subset=["英雄ID"])
# 5. 填充空值
df["最大生命"] = df["最大生命"].fillna(df["最大生命"].median())
df["上线年份"] = df["上线年份"].fillna(df["上线年份"].mode()[0])
# 6. 筛选高生命英雄
strong_hero = df[df["最大生命"] > df["最大生命"].mean()]
# 7. 导出清洗后数据
strong_hero.to_excel("高生命英雄名单.xlsx", index=False)
print("清洗完成!")
print(strong_hero.head())
Pandas 不用死记硬背,记住这套流程就够新手用很久:安装 → 读取 → 查看 → 筛选 → 清洗 → 统计 → 导出
所有代码都可以直接复制修改,遇到报错先看是不是函数名、文件格式、数据类型用错,90% 的问题都能解决。
学会 Pandas,你就正式踏入 Python 数据分析的大门啦!
更多推荐


所有评论(0)