Python 数据分析与可视化 Day 1 - Pandas 数据分析基础入门

🎯 今日目标

  • 理解 Pandas 的作用和核心概念
  • 学会创建 Series 和 DataFrame
  • 掌握基本数据读取(CSV)与常用查看方法

🧰 1. 什么是 Pandas?

Pandas 是基于 NumPy 的强大数据分析库,提供了灵活的表格数据结构 DataFrame,让你可以像操作 Excel 或数据库一样处理数据。


🧱 2. 核心数据结构

🧩 Series(带标签的一维数组)

python 复制代码
import pandas as pd

s = pd.Series([90, 85, 78], index=["张三", "李四", "王五"])
print(s)

输出:

python 复制代码
张三    90
李四    85
王五    78
dtype: int64

🧩 DataFrame(二维表格)

python 复制代码
data = {
    "姓名": ["张三", "李四", "王五"],
    "成绩": [90, 85, 78],
    "是否及格": [True, True, False]
}

df = pd.DataFrame(data)
print(df)

输出:

python 复制代码
   姓名  成绩  是否及格
0  张三   90   True
1  李四   85   True
2  王五   78  False

📖 3. 数据导入(CSV 文件)

python 复制代码
df = pd.read_csv("students.csv", encoding="utf-8")
print(df.head())   # 查看前几行
print(df.info())   # 概况
print(df.describe())  # 描述性统计(数值字段)

🔧 4. 常用基本操作

python 复制代码
print(df["成绩"])               # 访问某列
print(df.iloc[0])               # 按行索引访问
print(df[df["成绩"] >= 80])    # 筛选数据
print(df.sort_values("成绩", ascending=False))  # 排序

🧪 今日练习任务

  1. 创建一个 DataFrame,包含 5 名学生的姓名、性别、成绩、是否及格字段

    python 复制代码
    data = {
        "姓名": ["张三", "李四", "王五", "赵六", "钱七"],
        "成绩": [90, 85, 78, 88, 92],
        "是否及格": [True, True, False, True, True],
        "性别": ["男", "女", "男", "女", "男"]
    }
    
    df = pd.DataFrame(data)
    print(df)

    输出:

    python 复制代码
       姓名  成绩   是否及格 性别
    0  张三  90   True  男
    1  李四  85   True  女
    2  王五  78  False  男
    3  赵六  88   True  女
    4  钱七  92   True  男
  2. 筛选出所有不及格学生并打印

    python 复制代码
    failing_students = df[df["是否及格"] == False]
    print("不及格学生:")
    print(failing_students)

    输出:

    python 复制代码
    不及格学生:
       姓名  成绩   是否及格 性别
    2  王五  78  False  男
  3. 计算成绩的平均分、最大分、最小分

    python 复制代码
    average_score = df["成绩"].mean()
    max_score = df["成绩"].max()
    min_score = df["成绩"].min()

    输出:

    python 复制代码
    平均分: 86.6, 最大分: 92, 最小分: 78
  4. 将该 DataFrame 保存为 students.csv 文件(使用 to_csv

    python 复制代码
    df.to_csv("students.csv", index=False, encoding='utf-8-sig')
    print("DataFrame 已保存为 students.csv 文件")

    输出:

    python 复制代码
    DataFrame 已保存为 students.csv 文件

✅ 示例:保存为 CSV 文件

python 复制代码
df.to_csv("students.csv", index=False, encoding="utf-8")

✍️ 今日总结

  • 掌握了 Pandas 的核心结构:Series 与 DataFrame
  • 学会了基本的数据读取、创建和查看方法
  • 初步能用 Pandas 做简单的数据筛选、排序和保存

题外话

相关推荐
2603_965148115 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
jufeng13077 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 8 篇】
python·ai agent·配置系统
circuitsosk7 小时前
跨境电商智能化实战:AI如何赋能客服自动回复、广告智能投放与供应链预测
大数据·人工智能·python·langchain·智能客服
2601_956319888 小时前
2026年零基础学量化:从看懂示例到写清条件和动作
人工智能·python
过期的秋刀鱼!8 小时前
LangChain-D1-模型的工作流程
人工智能·python·langchain
萤火工厂目视化设计8 小时前
智能制造与企业文化目视化浪潮下:中小工厂的机遇与挑战
python·制造
DeepVisionary9 小时前
从GPT-5.6 Sol的Ultrafast模式看推理速度竞赛:750 token/秒背后,Cerebras的晶圆级生意
python·自动化
leisoo809710 小时前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
小柯南敲键盘11 小时前
跨马翻译:跨境电商批量图片翻译与视频字幕一站式工具
人工智能·python·音视频
卷无止境11 小时前
FastAPI Guard 全解析,从概念到工程落地的实战指南
后端·python