是不是很多新手朋友学了 Python 基础后,想做数据分析却卡壳了?面对 Excel 里几万行数据,筛选排序半天没反应;听说用 Python 能高效分析,却对着 Pandas 和 NumPy 的文档一脸懵,不知道从哪下手;好不容易导入数据,却连简单的求和平均值都算不对?其实啊,Pandas 和 NumPy 是 Python 数据分析的 “左膀右臂”,掌握它们俩,处理数据能比 Excel 快 10 倍。今天兔子哥就带大家从基础操作到实战案例,把这两个库拆解开讲,新手跟着练,很快就能上手做数据分析,一起往下看吧!
一、先搞懂:Pandas 和 NumPy 到底是啥?为啥非得用它们?
核心问题:都是处理数据的工具,这俩库有啥不一样?
简单说,NumPy 是 “数据计算的发动机”,擅长处理数值型数据,比如矩阵运算、统计计算;Pandas 是 “数据处理的瑞士军刀”,基于 NumPy 开发,能轻松处理表格数据(像 Excel 的表格),功能更全面。
两者对比表(新手一看就懂)
| 库名 | 核心功能 | 擅长处理的数据类型 | 新手常用场景 |
|---|---|---|---|
| NumPy | 数值计算、数组操作 | 纯数值的数组、矩阵 | 计算平均值、标准差、矩阵运算 |
| Pandas | 表格处理、数据清洗 | 带标签的表格数据(含文字) | 数据筛选、分组、合并表格 |
为什么不用 Excel? Excel 处理几万行数据就容易卡顿,而且重复操作多;用 Python 的这两个库,几行代码就能批量处理几十万行数据,还能把步骤写成脚本,下次直接复用,效率超高。兔子哥之前用 Excel 算销售数据,光筛选分类就花了半天,后来用 Pandas 写了几行代码,3 分钟就搞定了,还能自动生成结果,超方便!
二、基础操作:从安装到数据导入,3 步入门
核心问题:新手第一步该做啥?怎么把数据弄到 Python 里?
别着急写复杂代码,先把环境搭好,学会导入数据,这是数据分析的基础。
1. 安装库 —— 给 Python 装 “数据分析插件”
Pandas 和 NumPy 不是 Python 自带的,需要手动安装。打开命令提示符(Windows)或终端(Mac),输入这两行命令:
plaintext
pip install numpypip install pandas等进度条跑完,就安装成功了。如果安装失败,多半是网络问题,加个国内镜像源(比如
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple)会快很多。2. 导入库 —— 在代码里 “召唤” 它们
写 Python 代码时,得先导入这两个库才能用,一般起简称(行业惯例,大家都这么写):
python
import numpy as np # 导入NumPy,简称npimport pandas as pd # 导入Pandas,简称pd3. 导入数据 —— 把 Excel/CSV 文件搬进 Python
数据分析的第一步是获取数据,Pandas 支持导入 Excel、CSV 等格式,最常用的是 CSV(比 Excel 兼容性好):
python
# 导入CSV文件(文件要和代码在同一个文件夹,不然写完整路径)data = pd.read_csv("销售数据.csv")# 导入Excel文件(需要先安装openpyxl库:pip install openpyxl)data = pd.read_excel("销售数据.xlsx")# 查看数据前5行,确认导入成功print(data.head())如果打印出表格数据,说明导入成功了!要是报错 “文件不存在”,检查文件名是不是写错,或者路径对不对。
三、NumPy 实战:数值计算原来这么简单
核心问题:NumPy 怎么用?哪些计算适合用它?
NumPy 的核心是 “数组(ndarray)”,就像 Excel 里的一列或多列数值,能批量做计算,不用一个个处理。
1. 创建数组 —— 生成要计算的数据
python
import numpy as np# 创建一维数组(像一列数据)scores = np.array([85, 92, 78, 90, 88])# 创建二维数组(像一个表格的数值部分)sales = np.array([[100, 200, 150],[120, 180, 220]])2. 常用计算 —— 一行代码搞定统计量
不用写循环,直接调用函数就能算:
python
# 一维数组计算print("平均分:", scores.mean()) # 计算平均值print("最高分:", scores.max()) # 最大值print("总分:", scores.sum()) # 求和# 二维数组计算(axis=0按列算,axis=1按行算)print("每月总销售额:", sales.sum(axis=0)) # 按列求和(每个月的总和)print("每天总销售额:", sales.sum(axis=1)) # 按行求和(每天的总和)是不是比在 Excel 里手动输入公式快多了?尤其数据量大的时候,优势更明显。
四、Pandas 实战:表格数据处理全流程
核心问题:Pandas 最常用的功能有哪些?怎么用它清洗数据?
Pandas 的核心是 “DataFrame”,就像 Excel 的表格,有行有列,能轻松筛选、清洗、分析数据。兔子哥用一个 “销售数据” 案例,带大家走一遍流程。
1. 查看数据 —— 了解数据长啥样
python
import pandas as pddata = pd.read_csv("销售数据.csv")# 查看前5行和后5行print(data.head()) # 前5行print(data.tail()) # 后5行# 查看数据基本信息(行数、列数、数据类型)print(data.info())# 查看统计摘要(平均值、标准差等)print(data.describe())2. 数据清洗 —— 处理缺失值和错误值
真实数据总会有缺失或错误,比如 “销售额” 列有空值,“日期” 格式不对:
python
# 处理缺失值:要么删除,要么填充data = data.dropna() # 删除含缺失值的行(简单粗暴)# 或者用平均值填充销售额缺失值data["销售额"] = data["销售额"].fillna(data["销售额"].mean())# 处理错误值:比如销售额为负数,替换成0data["销售额"] = data["销售额"].apply(lambda x: x if x > 0 else 0)3. 数据筛选与分组 —— 按条件找数据
比如想筛选 “北京地区” 的销售数据,或按 “地区” 分组算平均销售额:
python
# 筛选北京地区的数据beijing_data = data[data["地区"] == "北京"]print(beijing_data)# 按地区分组,计算每组的平均销售额region_sales = data.groupby("地区")["销售额"].mean()print(region_sales) # 会显示每个地区的平均销售额4. 数据可视化 —— 用简单图表看趋势
Pandas 能直接调用 Matplotlib 画图(需要先安装:
pip install matplotlib):python
# 按月份分组,画销售额趋势图month_sales = data.groupby("月份")["销售额"].sum()month_sales.plot(kind="line", title="每月销售额趋势") # 折线图# 按地区分组,画柱状图region_sales.plot(kind="bar", title="各地区平均销售额") # 柱状图运行后会弹出图表,数据趋势一目了然,比在 Excel 里手动画图方便多了!
五、新手避坑指南:这些错误别再犯了!
- 导入数据时路径错误:文件没和代码放一起,又没写完整路径,导致 “FileNotFoundError”。解决办法:要么把文件放代码同文件夹,要么写绝对路径(比如
C:/data/销售数据.csv)。 - 混淆 NumPy 数组和 Pandas 的 Series:NumPy 数组没有列名,Pandas 的 Series 有索引(类似列名),计算时别搞混。不确定就用
type()函数看看数据类型。 - 处理大数据时内存不够:数据太大(比如几百万行),直接导入会卡顿。可以用
chunksize分批导入:for chunk in pd.read_csv("大文件.csv", chunksize=10000):分批处理。 - 忘记写
print():新手常犯的错,写了data.head()却看不到结果,得加print()才能在控制台显示。
最后跟新手朋友们说句心里话,Pandas 和 NumPy 看着功能多,其实常用的就那些函数。刚开始不用死记硬背,遇到问题查文档(比如搜 “Pandas 分组求和”),多练几个实际案例就熟了。兔子哥刚开始用 Pandas 时,连
groupby都搞不懂,后来用公司的销售数据反复练习,画了几十张图,慢慢就摸到规律了。数据分析的核心是 “解决问题”,别为了用工具而用工具。拿到数据先想 “我要分析啥?”(比如销售额趋势、地区差异),再想 “用哪个函数能实现”,这样学起来更有方向。按今天的案例多动手试试,你会发现用 Python 做数据分析真的能省超多时间,希望能帮到你!
标签: pypi.tuna.tsi 数据分析
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~