python数据分析教程:从基础语法到Pandas实战案例详解

admin python教程 9


想入门 Python 数据分析的朋友是不是总遇到这些问题?看了一堆基础语法教程,面对表格数据还是不知道怎么下手;好不容易装好了 Pandas 库,写个pd.read_csv()却报错 “文件找不到”;处理数据时想算个平均分,结果把文本当数字算,越算越乱。别着急,兔子哥当初学数据分析时,光是搞懂 “Series 和 DataFrame 的区别” 就卡了好几天,第一次用 Pandas 处理 Excel 数据还把列名写错,折腾半天才发现问题。今天就从基础语法讲到 Pandas 实战案例,帮新手快速上手 Python 数据分析,新手如何快速入门数据分析?一起往下看吧!

一、数据分析必备基础语法,这 3 个知识点必须吃透


学数据分析不用精通所有 Python 语法,但这几个核心知识点一定要会,不然连数据都处理不了。
  1. 变量和数据类型:数据的 “收纳盒”
    变量就是给数据起名字,方便后续调用。比如分析成绩时,把分数存起来:
    math_score = 95 # 整数,存分数、人数这些没小数的 avg_score = 88.5 # 浮点数,存平均分、百分比这些带小数的 student_name = "小明" # 字符串,存名字、类别这些文本

数据类型不用死记,用表格对比更清楚,这些是数据分析最常用的:
数据类型作用例子数据分析场景
整数(int)存没有小数的数字20、50人数、次数统计
浮点数(float)存带小数的数字92.5、3.14平均分、销售额
字符串(str)存文本"张三"、"语文"姓名、科目名称
列表(list)存多个有序数据[90, 85, 95]一组成绩、多个名称
字典(dict)存键值对数据{"name": "小红", "score": 90}单条记录、配置信息

有朋友会问:“列表和字典怎么选?” 简单说,列表像排队的队伍(有顺序,按位置取),适合存一组同类数据,比如全班成绩;字典像贴标签的抽屉(按名字取),适合存单条记录的详细信息,比如一个学生的各科成绩。
  1. 循环和条件语句:数据的 “筛选器”
    分析数据时经常需要重复计算或筛选数据,这时候循环和条件语句就派上用场了。

  • 循环:重复做一件事,比如计算列表里所有成绩的总和:
    scores = [85, 92, 78, 90] total = 0 for score in scores: # 遍历列表里的每个成绩 total = total + score print("总分:", total)
  • 条件语句:筛选符合条件的数据,比如找出 90 分以上的成绩:
    for score in scores: if score >= 90: print(f"优秀成绩:{score}") else: print(f"待提升成绩:{score}")

  1. 函数:重复操作的 “快捷键”
    把常用的分析步骤写成函数,下次直接调用,不用重复写代码。比如写个计算平均分的函数:
    `def calculate_average(numbers):
    total = sum(numbers)
    return total / len(numbers)

调用函数算成绩平均分


avg = calculate_average(scores)
print ("平均分:", avg)`


二、Pandas 实战:数据分析的 “瑞士军刀”,3 步搞定表格处理


Pandas 是 Python 数据分析的核心库,就像专门处理表格的工具,学会这几步,基本数据操作就没问题了。
  1. 安装和导入:先把 “工具” 备好
    第一次用 Pandas 要先安装,打开命令提示符(或终端)输:
    pip install pandas openpyxl # openpyxl 用来处理 Excel 文件

导入时习惯简写,后面用起来方便:
import pandas as pd # 约定俗成用pd当简写
  1. 读取数据:把表格 “装进” Python
    最常用的是读 CSV 和 Excel 文件,这一步新手最容易报错,记住路径要写对:
    `# 读 CSV 文件(逗号分隔的表格)
    df = pd.read_csv ("销售数据.csv")

读 Excel 文件


df = pd.read_excel ("成绩表.xlsx")`
如果文件和你的代码在同一个文件夹,直接写文件名就行;不在的话要写完整路径,比如"D:/数据分析/销售数据.csv"。要是报错 “文件不存在”,先检查文件名是不是写错了,或者文件是不是放错了地方。
  1. 基础操作:看数据、改数据、算指标

  • 看数据:用head()看前几行,info()看基本信息:
    print(df.head()) # 默认显示前5行,快速了解数据结构 print(df.info()) # 看列名、数据类型、有没有缺失值
  • 处理缺失值:数据里的空值会影响分析,要么删掉要么填充:
    `df_clean = df.dropna () # 删掉有缺失值的行

或者用平均值填充缺失值(比如填充数学成绩)


df ["数学"] = df ["数学"].fillna (df ["数学"].mean ())`
  • 算指标:求平均分、最大值,Pandas 直接有现成函数:
    print("数学平均分:", df["数学"].mean()) print("语文最高分:", df["语文"].max()) print("各科目平均分:\n", df.mean(numeric_only=True)) # 算所有数值列的平均分
  • 分组分析:按类别统计,比如按 “班级” 分组算平均分:
    class_avg = df.groupby("班级")["数学"].mean() print("各班数学平均分:\n", class_avg)



三、实战案例:销售数据分析,从数据到结论全流程


用一个销售数据案例,看看完整的分析流程怎么操作,代码可以直接抄着改。
  1. 案例目标:分析某店铺月度销售数据,找出热销商品、销售额趋势和地区销售情况。
  2. 数据准备:“销售数据.csv” 包含列:日期、商品名称、地区、销售额、销量。
  3. 分析步骤

python
import pandas as pdimport matplotlib.pyplot as plt  # 可视化用# 1. 读取数据  df = pd.read_csv("销售数据.csv")# 2. 数据清洗  # 处理缺失值:用0填充销售额缺失(假设没销售)  df["销售额"] = df["销售额"].fillna(0)# 转换日期格式(方便按日期分析)  df["日期"] = pd.to_datetime(df["日期"])# 3. 基础分析  # 热销商品:按商品名称分组算总销量  hot_products = df.groupby("商品名称")["销量"].sum().sort_values(ascending=False)print("热销商品Top3:\n", hot_products.head(3))# 销售额趋势:按日期分组算每日销售额  daily_sales = df.groupby("日期")["销售额"].sum()# 画折线图看趋势  plt.figure(figsize=(10, 5))daily_sales.plot(kind="line")plt.title("每日销售额趋势")plt.show()# 地区销售占比:按地区分组算总销售额  region_sales = df.groupby("地区")["销售额"].sum()# 画饼图看占比  plt.figure(figsize=(8, 8))region_sales.plot(kind="pie", autopct="%1.1f%%")plt.title("各地区销售额占比")plt.show()

  1. 避坑指南

  • 中文乱码:画图时中文显示方框,加plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei"]
  • 数据类型错误:算销售额时提示 “无法相加”,检查列是不是字符串类型,用df["销售额"] = df["销售额"].astype(float)转换。
  • 分组后索引问题:groupby后结果是 Series,用reset_index()转成 DataFrame 更方便后续处理。



四、自问自答:数据分析新手常问的 3 个问题


  1. “为什么用 Pandas 而不是 Excel?Excel 不是更简单吗?”
    Excel 适合小数据量、手动操作,但数据量大(比如 10 万行)或需要重复分析时,Pandas 更高效。比如每月更新销售数据,用 Pandas 写好脚本,下次直接运行就能出结果,不用重复点击鼠标,而且代码可以保存复用,不容易出错。
  2. “数学不好能学 Python 数据分析吗?会不会很吃力?”
    完全可以!基础数据分析用的都是加减乘除、平均分这些简单计算,Pandas 都帮你封装好了,不用自己写公式。重点是理解业务问题,比如 “为什么这个月销售额下降”,而不是复杂的数学公式。兔子哥数学也一般,照样能做基础数据分析。
  3. “学完基础后,怎么提升数据分析能力?”
    多练真实数据!可以去 Kaggle、阿里云天池下载公开数据集,比如电商销售数据、用户行为数据,试着分析 “哪些商品卖得好”“用户喜欢在什么时间下单”。分析完后写个简单报告,说明你的发现和建议,这样能力提升最快。

结尾心得


Python 数据分析入门不难,关键是把基础语法和 Pandas 操作结合起来用。兔子哥的经验是,别光看教程不动手,拿到数据先试着用head()看看结构,用mean() groupby()算几个指标,遇到报错别慌,大部分问题都是路径错了、数据类型不对这些小问题。刚开始慢没关系,练几个数据集后就会越来越顺。记住,数据分析的核心是解决问题,不是写复杂代码,能从数据中找到有用的结论,就是好的分析。多做实战,你会发现 Python 数据分析真的能帮你从数据中看到很多以前没注意的规律!

标签: 数据分析 收纳盒

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~