想学 Python 做数据分析的朋友是不是总卡在这些地方?看语法教程觉得 “嗯,会了”,一到处理表格数据就手忙脚乱;好不容易装好了 Pandas 库,写个
pd.read_csv()却报错 “文件不存在”;分析数据时想求平均值,结果算出的数字完全不对,不知道问题出在哪。别着急,兔子哥当初从语法转到数据分析时,光是搞懂 “Series 和 DataFrame 的区别” 就花了两天,第一次处理 Excel 数据还把路径写错,折腾半天才发现文件放错了文件夹。今天就带大家从语法基础到数据分析实战,再把常见错误和工具技巧讲透,零基础也能一步步学会用 Python 做数据分析!一、语法入门:打好这 3 个基础,数据分析不费力
数据分析离不开 Python 基础语法,这几个核心知识点必须吃透,不然写代码时处处碰壁。
- 变量与数据类型:数据的 “收纳盒”
变量就是给数据起名字,方便后续使用。比如分析成绩时,把分数存到变量里:math_score = 95 # 整数 english_score = 88.5 # 浮点数 name = "小明" # 字符串
数据类型不用死记,用表格对比更清楚,这些是数据分析最常用的:
| 类型 | 作用 | 数据分析场景 |
|---|---|---|
| 整数(int) | 存没有小数的数字 | 人数、次数统计 |
| 浮点数(float) | 存带小数的数字 | 分数、价格计算 |
| 字符串(str) | 存文本 | 姓名、类别标签 |
| 列表(list) | 存多个有序数据 | 一组成绩、多个名称 |
| 字典(dict) | 存键值对数据 | 学生信息(姓名:分数) |
有朋友问:“列表和字典有啥区别?” 简单说,列表像排队的队伍(有顺序,用下标取),字典像贴标签的盒子(按名字取,没顺序)。比如
scores = [90, 85, 95]是列表,student = {"name": "小红", "score": 92}是字典。- 条件与循环:数据的 “筛选器”
分析数据时经常需要筛选、重复计算,条件语句和循环就派上用场了。
- 条件语句
if...else:筛选符合条件的数据,比如找出 90 分以上的成绩:score = 95 if score >= 90: print("优秀") else: print("继续努力") - 循环语句
for:批量处理数据,比如计算列表里所有成绩的总和:scores = [85, 92, 78] total = 0 for s in scores: total += s print("总分:", total)
注意:Python 用缩进区分代码块,缩进不对会直接报错,一般按 4 个空格,这是新手最容易踩的坑之一。
- 函数:重复操作的 “快捷键”
把常用的分析步骤写成函数,下次直接调用,不用重复写代码。比如写个计算平均分的函数:
`def calculate_average(scores):
total = sum(scores)
return total / len(scores)
调用函数
math_scores = [90, 85, 95]
print ("数学平均分:", calculate_average (math_scores))`
二、数据分析入门:Pandas 库实战,3 步处理表格数据
做数据分析绕不开 Pandas 库,它就像 Python 的 “表格处理神器”,学会这 3 步,基本数据操作就没问题了。
- 安装与导入:先把 “工具” 备好
第一次用 Pandas 要先安装,打开命令提示符(或终端)输:pip install pandas openpyxl# openpyxl 用来处理 Excel 文件
导入库时习惯简写,后面用起来方便:
import pandas as pd # 约定俗成简写为pd- 读取数据:把表格 “装进” Python
最常用的是读 CSV 和 Excel 文件,注意文件路径要对(不然会报错 “File not found”):
`# 读 CSV 文件(逗号分隔的表格)
df = pd.read_csv ("成绩表.csv")
读 Excel 文件
df = pd.read_excel ("成绩表.xlsx")`
如果文件和代码在同一个文件夹,直接写文件名;不在的话要写完整路径,比如
"D:/数据/成绩表.csv"。- 基础分析:看数据、算指标、筛内容
- 看数据:用
head()看前几行,info()看基本信息:print(df.head()) # 默认前5行 print(df.info()) # 列名、数据类型、缺失值 - 算指标:求平均分、最高分,直接用 Pandas 内置函数:
print("数学平均分:", df["数学"].mean()) print("语文最高分:", df["语文"].max()) - 筛数据:比如找出数学 90 分以上的学生:
excellent_math = df[df["数学"] >= 90] print(excellent_math)
实战案例:分析学生成绩表
假设 “成绩表.xlsx” 有 “姓名”“语文”“数学” 列,用几行代码就能出分析结果:
`import pandas as pd
读数据
df = pd.read_excel ("成绩表.xlsx")
计算各科平均分
avg_chinese = df ["语文"].mean ()
avg_math = df ["数学"].mean ()
找出总分前 3 的学生
df ["总分"] = df ["语文"] + df ["数学"] # 新增总分列
top3 = df.sort_values ("总分", ascending=False).head (3) # 降序排序取前 3
print (f"语文平均分:{avg_chinese:.1f}")
print (f"数学平均分:{avg_math:.1f}")
print ("总分前三学生:\n", top3 [["姓名", "总分"]])`
三、常见错误解决:新手 90% 会踩的 5 个坑,照着改
- “ModuleNotFoundError:没有名为 pandas 的模块”
这是没装 Pandas 库的典型错误。解决方法:重新在命令提示符输pip install pandas,确保网络正常,看到 “Successfully installed” 就装好了。兔子哥第一次装时因为网络差失败 3 次,后来换了手机热点才成功。 - “FileNotFoundError:文件不存在”
要么文件名写错(比如把 “成绩表.csv” 写成 “成绩.csv”),要么路径不对。解决方法:用print(os.getcwd())查看代码当前路径,把数据文件放到这个路径下,或写完整路径pd.read_csv("D:/data/成绩表.csv")。 - 缩进错误:“IndentationError”
Python 靠缩进区分代码块,比如if后面的代码没缩进就会报错。解决方法:if、for、def后面的代码统一按 4 个空格缩进,PyCharm 等编辑器会自动缩进,别手动敲空格和 Tab 混着用。 - 数据类型错误:“unsupported operand type (s) for +: 'int' and'str'”
比如想给分数加 10 分,结果某行分数是字符串(比如 “缺考”),就会报错。解决方法:先用df["数学"].dtype看数据类型,不是数字的话用pd.to_numeric()转换,无法转换的用errors="coerce"变成缺失值处理。 - Pandas 函数用错:求平均结果不对
比如df.mean()算出来全是 NaN,可能是列名错了(比如 “数学” 写成 “数學”),或列里全是文本。解决方法:用df.columns查看列名,确保没写错;检查数据是否有非数字内容。
四、工具使用技巧:这 3 个工具让分析效率翻倍
- 编辑器选 PyCharm 社区版
新手用这个准没错,代码补全功能强,输df.会自动跳出head()mean()等函数;报错时会标红提示,鼠标放上去能看到错误原因,比自带的 IDLE 好用太多。 - 用 Jupyter Notebook 写分析报告
它能一边写代码一边加文字说明,运行结果实时显示,适合做数据分析报告。安装命令pip install jupyter,启动输jupyter notebook,在浏览器里操作,代码块可以单独运行,调试起来很方便。 - Excel 辅助看数据结构
刚开始不知道数据长啥样,先用 Excel 打开文件看看列名、有没有缺失值,再用 Pandas 读就不容易出错。比如看到 Excel 里有合并单元格,读数据时就要注意处理,避免列错位。
五、自问自答:数据分析新手常问的 3 个问题
- “数学不好能学 Python 数据分析吗?”
完全可以!基础分析用的都是加减乘除、平均分这些简单计算,Pandas 都帮你封装好了,不用自己写复杂公式。重点是理解业务逻辑,比如 “为什么要算这个指标”,而不是数学公式。 - “一定要学 SQL 才能做数据分析吗?”
不一定,但会 SQL 更好。Python 适合处理本地文件、做复杂分析;SQL 适合从数据库取数据。新手可以先学好 Python 的 Pandas 库,能解决大部分日常数据分析需求,之后再学 SQL 也不晚。 - “数据分析实战项目在哪找?”
推荐 Kaggle(kaggle.com)下公开数据集,比如学生成绩、电商销售数据;也可以用自己工作中的数据,比如用 Python 分析每月支出表,既实用又能练手。
结尾心得
Python 数据分析入门不难,难在把语法和工具结合起来用。兔子哥的经验是,别光看教程不动手,拿到数据先试着用
head()看看结构,用mean() max()算几个指标,报错了就对照常见错误表排查。刚开始慢没关系,练几个数据集后就会越来越顺。记住,数据分析的核心是解决问题,不是写复杂代码,能用简单方法得出结论就是好分析。多做实战项目,比如分析自己的消费记录、工作报表,你会发现 Python 数据分析真的能帮你提高效率!版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~