Python数据分析零基础学习指南

第一阶段:Python环境准备(2-3天)

步骤1:安装Python

  1. 访问Python官网:https://www.python.org/downloads/
  2. 下载Python 3.13.1版本(建议选择3.8或以上版本)
  3. 运行安装程序,重要:勾选"Add Python to PATH"选项
  4. 验证安装:打开命令提示符(按Win+R,输入cmd),输入:
    python --version
    如果显示Python版本号,说明安装成功

步骤2:安装编辑器(推荐Cursor)

  1. 访问Cursor官网:https://cursor.sh/
  2. 下载并安装Cursor
  3. 安装Python扩展:
    • Cursor默认已集成Python支持
    • 无需额外安装Python扩展

步骤3:安装必要的包

  1. 打开命令提示符,输入以下命令:
    pip install numpy pandas matplotlib seaborn
  2. 验证安装:打开Python交互式环境,输入:
    python >>> import numpy as np >>> import pandas as pd >>> import matplotlib.pyplot as plt >>> import seaborn as sns
    如果没有报错,说明安装成功

第二阶段:Python基础语法(1-2周)

第1天:变量和数据类型

# 1. 字符串
name = "小明"               # 使用引号包围的文本
print(f"你好,{name}")      # 输出:你好,小明

# 2. 数字
age = 25                   # 整数
height = 1.75             # 小数(浮点数)
print(f"年龄:{age}岁")
print(f"身高:{height}米")

# 3. 布尔值
is_student = True         # 真值
has_car = False          # 假值
print(f"是学生吗?{is_student}")
                    

练习任务:

  1. 创建一个新文件 my_info.py
  2. 定义并打印你的基本信息(姓名、年龄、身高等)
  3. 运行程序看看结果

第2-3天:条件语句

# 成绩评级程序
score = 85

if score >= 90:
    print("优秀!")
elif score >= 80:
    print("良好!")
elif score >= 60:
    print("及格")
else:
    print("需要努力")

# 实际运行输出:良好!
                    

练习任务:

  1. 创建 grade_check.py
  2. 编写程��判断成绩等级
  3. 添加多个条件(如:95分以上显示"特别优秀")

第4-5天:循环

# for循环示例
print("打印1到5:")
for i in range(1, 6):
    print(i, end=" ")  # 输出:1 2 3 4 5

# while循环示例
print("\n\n计算1到5的和:")
sum = 0
i = 1
while i <= 5:
    sum += i    # 等同于:sum = sum + i
    i += 1      # 等同于:i = i + 1
print(f"总和是:{sum}")  # 输出:总和是:15
                    

练习任务:

  1. 创建 multiplication_table.py
  2. 使用循环打印九九乘法表
  3. 尝试用不同的循环方式实现

第三阶段:Python数据结构(2周)

第1-3天:列表(List)

# 创建和使用列表
fruits = ["苹果", "香蕉", "橙子"]
print(f"水果清单:{fruits}")

# 添加元素
fruits.append("葡萄")      # 在末尾添加
print(f"添加后:{fruits}")

# 访问元素
print(f"第一个水果:{fruits[0]}")  # 输出:苹果
print(f"最后一个水果:{fruits[-1]}")  # 输出:葡萄

# 修改元素
fruits[1] = "草莓"
print(f"修改后:{fruits}")

# 删除元素
fruits.remove("橙子")
print(f"删除后:{fruits}")
                    

练习任务:

  1. 创建 shopping_list.py
  2. 实现添加、删除、显示购物清单的功能
  3. 尝试对清单进行排序

第4-7天:字典(Dictionary)

# 创建和使用字典
student = {
    "name": "小明",
    "age": 18,
    "scores": {
        "语文": 85,
        "数学": 92,
        "英语": 88
    }
}

# 访问数据
print(f"姓名:{student['name']}")
print(f"数学成绩:{student['scores']['数学']}")

# 修改数据
student['age'] = 19
student['scores']['语文'] = 87

# 添加新数据
student['班级'] = '三年二班'

print(f"更新后的信息:{student}")
                    

练习任务:

  1. 创建 student_manager.py
  2. 实现学生信息管理系统
  3. 可以添加、修改、查询学生信息

第四阶段:数据分析基础(3-4周)

第1周:NumPy基础

import numpy as np

# 创建数组
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])

# 基本运算
print(f"数组相加:{arr1 + arr2}")
print(f"数组平均值:{arr1.mean()}")
print(f"数组最大值:{arr1.max()}")

# 创建特殊数组
zeros = np.zeros(5)      # 创建5个0
ones = np.ones(5)       # 创建5个1
rand = np.random.rand(5) # 创建5个随机数

print(f"零数组:{zeros}")
print(f"一数组:{ones}")
print(f"随机数组:{rand}")
                    

练习任务:

  1. 创建 numpy_practice.py
  2. 生成一组随机成绩数据(100个学生)
  3. 计算平均分、最高分、最低分
  4. 统计及格率(>=60分的比例)

第2-3周:Pandas基础

import pandas as pd

# 创建数据框
data = {
    '姓名': ['小明', '小红', '小华', '小李'],
    '年龄': [18, 19, 20, 18],
    '成绩': [85, 92, 78, 95]
}
df = pd.DataFrame(data)

# 基本操作
print("原始数据:")
print(df)

# 数据分析
print("\n基本统计:")
print(df['成绩'].describe())

# 数据筛选
print("\n成绩大于90的学生:")
print(df[df['成绩'] > 90])

# 排序
print("\n按成绩排序:")
print(df.sort_values('成绩', ascending=False))
                    

练习任务:

  1. 创建 student_analysis.py
  2. 导入学生成绩数据(可以自己创建示例数据)
  3. 计算各科成绩的统计信息
  4. 找出成绩最好的前三名学生

第五阶段:数据可视化(2-3周)

第1-2周:Matplotlib基础

import matplotlib.pyplot as plt

# 设置中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 简单折线图
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.figure(figsize=(8, 6))
plt.plot(x, y, 'r-o', label='示例数据')
plt.title('简单折线图')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.legend()
plt.grid(True)
plt.show()

# 柱状图
subjects = ['语文', '数学', '英语']
scores = [85, 92, 78]

plt.figure(figsize=(8, 6))
plt.bar(subjects, scores)
plt.title('学科成绩柱状图')
plt.show()
                    

练习任务:

  1. 创建 score_visualization.py
  2. 绘制班级成绩分布图
  3. 创建多种类型的图表(折线图、柱状图、饼图)
  4. 添加图例和标签

第3周:Seaborn统计可视化

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

# 创建示例数据
data = pd.DataFrame({
    '组别': ['A组']*30 + ['B组']*30 + ['C组']*30,
    '得分': np.random.normal(loc=[75, 80, 85], 
                          scale=[10, 8, 12], 
                          size=90)
})

# 箱线图
plt.figure(figsize=(8, 6))
sns.boxplot(x='组别', y='得分', data=data)
plt.title('各组得分分布箱线图')
plt.show()

# 小提琴图
plt.figure(figsize=(8, 6))
sns.violinplot(x='组别', y='得分', data=data)
plt.title('各组得分分布小提琴图')
plt.show()
                    

练习任务:

  1. 创建 advanced_visualization.py
  2. 使用真实或模拟的考试数据
  3. 创建各种统计图表
  4. 分析并解释图表含义

学习资源

学习建议

学习进度追踪

Python环境准备

Python基础语法

Python数据结构

数据分析基础

数据可视化