# Python Data Analysis and Visualization **Repository Path**: liufumore/python-data-analysis-and-visualization ## Basic Information - **Project Name**: Python Data Analysis and Visualization - **Description**: python数据分析和可视化:包含numpy、pandas、Matplotlib、seaborn、pyechars - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-29 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python 数据分析与可视化 > 一套面向实战的 Python 数据分析与可视化系统化学习项目,涵盖 NumPy、Pandas、Matplotlib、Seaborn、PyECharts、scikit-learn 等核心库,包含 7 大学习模块与 6 个综合性实战项目。 --- ## 📋 目录 - [项目概览](#项目概览) - [技术栈](#技术栈) - [项目结构](#项目结构) - [学习路线](#学习路线) - [模块详解](#模块详解) - [模块 1:NumPy 基础](#模块-1numpy-基础) - [模块 2a:NumPy 常用函数](#模块-2anumpy-常用函数) - [模块 2b:数据分析常用函数(金融应用)](#模块-2b数据分析常用函数金融应用) - [模块 3a:NumPy 算法与应用](#模块-3anumpy-算法与应用) - [模块 3b:NumPy 高级](#模块-3bnumpy-高级) - [模块 4:Matplotlib 与 Seaborn 可视化](#模块-4matplotlib-与-seaborn-可视化) - [模块 5:Pandas 数据处理](#模块-5pandas-数据处理) - [模块 6-7:PyECharts 网页可视化](#模块-6-7pyecharts-网页可视化) - [综合实战项目](#综合实战项目) - [数据文件说明](#数据文件说明) - [快速开始](#快速开始) - [环境要求](#环境要求) - [参考资料](#参考资料) --- ## 项目概览 本项目是一套**从零到实战**的 Python 数据分析课程体系。以"Python 数据分析三剑客"——**NumPy、Pandas、Matplotlib** 为核心,向上延伸至网页端交互式可视化(PyECharts + Flask)、机器学习建模(scikit-learn)、自然语言处理(情感分析)、GUI 应用(Tkinter)等领域。 **项目特色:** - 📐 **体系完整**:从数组基础到机器学习建模,7 大模块层层递进 - 🧪 **实战导向**:每个模块配有代码练习(`.py` + `.ipynb`),6 个完整项目覆盖电商、金融、能源、教育等真实场景 - 📖 **理论结合**:每个章节配有 `.md` 讲义 + `.pdf` 作业/项目书 - 🤖 **融入 AI**:讨论了 AIGC 时代下的开发方式变革 --- ## 技术栈 | 类别 | 技术/库 | 用途 | |------|----------|------| | 数值计算 | **NumPy** | 数组操作、线性代数、统计函数 | | 数据处理 | **Pandas** | 结构化数据读写、清洗、聚合、合并 | | 静态可视化 | **Matplotlib**, **Seaborn** | 折线图、柱状图、散点图、箱线图、热力图等 | | 交互式可视化 | **PyECharts** | 网页端动态图表 | | Web 框架 | **Flask** | 将 PyECharts 图表嵌入 Web 页面 | | 机器学习 | **scikit-learn** | 分类模型(逻辑回归、朴素贝叶斯)、特征工程 | | 文本处理 | **jieba**, **WordCloud** | 中文分词、词云生成 | | 科学计算 | **SciPy** | 统计检验、信号处理、优化 | | GUI | **Tkinter** | 桌面计算器应用 | | 金融可视化 | **mplfinance** | K线图、布林带、移动平均线 | --- ## 项目结构 ``` python数据分析与可视化/ │ ├── 01-NumPy模块/ # 模块1:NumPy基础(8章) ├── 02-Numpy常用函数/ # 模块2a:NumPy常用函数(4章) ├── 02-数据分析基础-常用函数/ # 模块2b:数据分析函数(8章,含金融) ├── 03-Numpy算法与应用/ # 模块3a:NumPy算法(4章) ├── 03-Numpy高级/ # 模块3b:NumPy高级主题(5个) ├── 04-Matplotlib可视化模块/ # 模块4:Matplotlib + Seaborn + WordCloud ├── 05-Pandas模块/ # 模块5:Pandas数据处理(7章) ├── 06-PyECharts网页可视化图表/ # 模块6:PyECharts + Flask ├── 07-Python-pyecharts模块/ # 模块7:PyECharts深入 │ ├── 数据分析三剑客综合项目/ # ★ 实战:全球能源转型与碳排放分析 ├── 基于西格玛模型的电商运营数据分析/ # ★ 实战:电商运营数据分析 ├── 电商用户评论情感分析/ # ★ 实战:NLP情感分析 ├── 湖北高校经费数据可视化/ # ★ 实战:高校经费可视化 + 薪资计算器 ├── 探索性数据分析EDA/ # 主题笔记:EDA理论 ├── DataAnalysisVisualizationProject01/ # PyCharm项目容器 │ ├── python数据分析与可视化.xlsx # 项目规划表格 ├── python数据可视化分析.xmind # 思维导图 └── .gitignore ``` --- ## 学习路线 ``` 第1阶段:NumPy 基础 ├── 01-NumPy模块(8章:Ndarray → 切片索引 → 广播 → 迭代 → 数组操作 → Matplotlib整合) └── 02-Numpy常用函数(4章:字符串 → 数学 → 统计 → 排序筛选) 第2阶段:数据分析实战函数 └── 02-数据分析基础-常用函数(8章:统计分析 → ATR/移动平均线 → K线图/布林带 → 趋势线 → 矩阵) 第3阶段:NumPy 深入 ├── 03-Numpy算法与应用(斐波那契、利萨茹曲线、波形生成、线性代数) └── 03-Numpy高级(位运算、字节交换、IO、矩阵库) 第4阶段:可视化 └── 04-Matplotlib可视化模块(5章Matplotlib + 2章Seaborn + WordCloud + 速查表) 第5阶段:Pandas 数据处理 └── 05-Pandas模块(7章:Series/DataFrame → 读写 → 清洗 → 合并 → 排序 → 统计 → 相关性) └── Pandas综合项目:新能源汽车用户数据分析 第6阶段:Web 可视化 ├── 06-PyECharts网页可视化图表(Bar/Line/Pie/Scatter/Map/Radar + Flask嵌入) └── 07-Python-pyecharts模块(PyECharts深入) 第7阶段:综合实战项目 ├── 基于西格玛模型的电商运营数据分析(数据生成 → 分析 → 可视化 → ML建模) ├── 电商用户评论情感分析(数据收集 → 词云 → TF-IDF + 朴素贝叶斯分类) ├── 全球能源转型与碳排放趋势分析(多国面板数据 → EDA → 统计检验 → 报告生成) └── 湖北高校经费数据可视化(高校数据 → 可视化 → 成本核算计算器) ``` --- ## 模块详解 ### 模块 1:NumPy 基础 📁 `01-NumPy模块/` | 8 个子章节,每章含 `.md` 讲义 + `.pdf` 作业 | 章节 | 内容 | 代码示例 | |------|------|----------| | 01 | NumPy 概述与安装 | 环境搭建 | | 02 | Ndarray 对象与数组类型 | `numpy-test01.py` | | 03 | NumPy 数组(创建、属性、操作) | `numpy03/` | | 04 | 切片与索引 | `numpy06/` | | 05 | 广播(Broadcast) | `numpy09/` | | 06 | 数组迭代 | `numpy11/` | | 07 | 数组操作(变形、拼接、分割) | `numpy12/` | | 08 | NumPy + Matplotlib 结合 | `NumPy-Matplotlib/`, `数据可视化广播.ipynb` | **中期项目:** `NumPy中期项目-学生成绩数据处理系统.pdf` --- ### 模块 2a:NumPy 常用函数 📁 `02-Numpy常用函数/` | 4 个子章节 | 章节 | 内容 | 练习文件数 | |------|------|------------| | 09 | 字符串函数(`np.char`) | 14 个 | | 10 | 数学函数与算术函数 | 9 个 | | 11 | 统计函数 | 7 个 | | 12 | 排序与条件筛选函数 | — | **综合项目:** `numpy综合项目-开支系统/` — 家庭月度开支数据分析系统 --- ### 模块 2b:数据分析常用函数(金融应用) 📁 `02-数据分析基础-常用函数/` | 8 个子章节 面向金融领域的实战模块,使用真实股票数据: | 章节 | 内容 | 关键数据 | |------|------|----------| | 常用函数操作 | sum, mean, median 等在 NumPy/Pandas 中的使用 | — | | 统计分析函数 | 描述性统计、分布分析 | — | | ATR 与移动平均线 | 股票技术指标计算 | `000001perf.csv`(上证指数) | | K线图与布林带 | mplfinance 金融绘图 | — | | 趋势线 | 线性回归趋势 | — | | 矩阵与通用函数 | 矩阵运算 | — | | K-Means 算法 | 聚类分析 | — | --- ### 模块 3a:NumPy 算法与应用 📁 `03-Numpy算法与应用/` | 4 个子章节 | 算法主题 | 说明 | |----------|------| | 斐波那契数列 | 使用 NumPy 实现斐波那契搜索 | | 利萨茹曲线 | NumPy + Matplotlib 参数方程绘图 | | 方波、锯齿波和三角波 | 信号生成与可视化 | | 线性代数 | 矩阵运算、方程组求解 | --- ### 模块 3b:NumPy 高级 📁 `03-Numpy高级/` | 5 个高级主题 - NumPy 位运算 - 字节交换 & 副本和视图 - NumPy 线性代数 - NumPy IO - NumPy 矩阵库 (Matrix) --- ### 模块 4:Matplotlib 与 Seaborn 可视化 📁 `04-Matplotlib可视化模块/` | 最丰富的可视化模块 | 子模块 | 内容 | |--------|------| | Matplotlib 第1-5章 | 基础绘图 → 标签/图例 → 饼图/直方图/箱线图 → 高级定制 → 图片处理 | | Seaborn 第1-2章 | Seaborn 基本用法 + SCI 论文图构建 | | WordCloud | 词云生成 | | 中文乱码解决 | Matplotlib 中文显示方案 | | Cheat Sheets | 官方 Matplotlib 速查表(30+ 示例脚本) | **实训案例:** - 武大实训:交通流量数据分析(`Metro_Interstate_Traffic_Volume.csv`) - 长大实训:电商用户行为数据分析(`ecommerce_behavior_2025.csv`) **综合项目:** `Matplotlib综合项目-全球气温变化数据分析可视化.pdf` --- ### 模块 5:Pandas 数据处理 📁 `05-Pandas模块/` | 7 个章节,最系统的数据处理模块 | 章节 | 内容 | 核心文件 | |------|------|----------| | 第1章 | Series 与 DataFrame 入门 | `test01.py` | | 第2章 | 数据读取(CSV, JSON, Excel) | 16 个测试文件 | | 第3章 | 数据清洗(缺失值、重复值、格式转换) | 23 个测试文件 | | 第4章 | 数据框操作(合并、连接、分组、聚合) | 8 个测试文件 | | 第5章 | 数据排序与排名 | 17+ 个测试文件 | | 第6章 | 数据统计与描述 | 23+ 个测试文件 | | 第7章 | 相关性矩阵与热力图分析 | notebooks | **综合项目:** `pandas综合项目/` — [新能源汽车用户数据分析](05-Pandas模块/pandasProject01/pandas综合项目/2025年新能源汽车数据分析-01.ipynb) 分析流程: ``` 多源数据合并(CSV+JSON) → 数据清洗 → 探索性分析 → 深度分析 → 相关性热力图 → 结果导出 ``` --- ### 模块 6-7:PyECharts 网页可视化 📁 `06-PyECharts网页可视化图表/` + `07-Python-pyecharts模块/` 6 种图表类型,每种均实现了 **Flask Web 嵌入**: | 图表类型 | Flask 文件 | |----------|------------| | 柱状图 (Bar) | `app.py` | | 折线图 (Line) | `app02.py` | | 饼图 (Pie) | `app03.py` | | 散点图 (Scatter) | `app04.py` | | 地图 (Map) | `app05.py` | | 雷达图 (Radar) | `app06.py` | --- ## 综合实战项目 ### 🏭 全球能源转型与碳排放趋势分析 📁 [`数据分析三剑客综合项目/`](数据分析三剑客综合项目/) **规模最大、代码质量最高**的综合项目。涵盖 25 个国家近数十年的能源与碳排放面板数据。 ``` 数据生成 → 预处理(IQR异常值+Z-score标准化) → EDA(描述统计+时间序列) → 统计检验(Pearson+t检验+Shapiro-Wilk) → 深度分析(收入组分群+碳强度趋势) → 6张可视化图表 → 自动生成Markdown分析报告(10章节) ``` **技术栈:** NumPy + Pandas + Matplotlib + SciPy + Requests(世界银行API) --- ### 🛒 基于西格玛模型的电商运营数据分析 📁 [`基于西格玛模型的电商运营数据分析/`](基于西格玛模型的电商运营数据分析/) 完整的数据分析流水线,一键执行: | 步骤 | 文件 | 内容 | |------|------|------| | Step 1 | `01_generate_data.py` | 生成 500 条电商模拟数据(12 个字段) | | Step 2 | `02_data_analysis.py` | 核心分析(销售额、品类、用户画像、转化率) | | Step 3 | `03_data_visualization.py` | 6 子图可视化面板 | | Step 4 | `04_sklearn_analysis.py` | 逻辑回归预测购买行为 | | Step 5 | `05_sklearn_visualization.py` | 混淆矩阵 + 特征重要性 | | — | `run_all.py` | 🚀 一键执行全流程 | **特征工程:** `ColumnTransformer(StandardScaler + OneHotEncoder)` → `LogisticRegression` --- ### 💬 电商用户评论情感分析 📁 [`电商用户评论情感分析/`](电商用户评论情感分析/) NLP 文本分类项目,从数据生成到模型评估全流程: ``` 模拟评论生成 → 数据读取与探索 → 情感分布可视化(条形图+饼图) → 词云图生成 → TF-IDF特征提取 + 多项式朴素贝叶斯分类 → 混淆矩阵评估 → 真实京东评论数据集训练(jieba分词) ``` **模型:** `TfidfVectorizer` + `MultinomialNB` **综合类:** `SentimentAnalysisProject` 一键执行完整流程 --- ### 🏫 湖北高校经费数据可视化 📁 [`湖北高校经费数据可视化/`](湖北高校经费数据可视化/) 基于 Kimi AI 辅助生成的数据可视化项目: - 经费预算柱状图 - 生均经费散点图 - 预算增减对比条形图 - 生均经费多校对比图 **附带:** `薪资核算计算器.py` — Tkinter GUI 桌面应用,用于校企合作项目成本核算 --- ### 🚗 新能源汽车用户数据分析 📁 [`05-Pandas模块/pandasProject01/pandas综合项目/`](05-Pandas模块/pandasProject01/pandas综合项目/) Pandas 模块的综合实战,分析流程: ``` CSV + JSON 多源数据整合 → 缺失值填充 + 重复值去除 + 格式转换 → 年龄分布 / 车型销量 / 渠道占比 → 年龄段偏好 / 月度趋势 / 续航满意度 → Pearson 相关系数 + 热力图 → 结果导出 (Excel + CSV) ``` --- ## 数据文件说明 | 数据文件 | 位置 | 说明 | |----------|------|------| | `global_energy_data.csv` | 三剑客综合项目/ | 25国家×35年,能源与碳排放面板数据 | | `ecommerce_data.csv` | 基于西格玛模型项目/ | 500条电商模拟数据(12字段) | | `user_reviews_combined.csv` | 电商用户评论情感分析/ | 53条中文电商评论 | | `car_orders.json` | 05-Pandas模块/ | 新能源汽车订单数据(1000+条) | | `user_info.csv` | 05-Pandas模块/ | 用户基本信息(含月收入) | | `user_behavior.csv` | 05-Pandas模块/ | 用户行为数据(充电频率、满意度) | | `2024年新能源汽车月度销售趋势.csv` | 05-Pandas模块/ | 月度销售趋势 | | `000001perf.csv` | 02-数据分析基础/ | 上证指数历史行情 | | `test_byd_01.xlsx` | 02-数据分析基础/ | 比亚迪股票数据 | | `nba.csv` | 05-Pandas模块/ | NBA球员信息 | | `property-data.csv` | 05-Pandas模块/ | 房产数据(含各种缺失值场景) | | `Metro_Interstate_Traffic_Volume.csv` | 04-Matplotlib模块/ | 高速公路交通流量 | | `ecommerce_behavior_2025.csv` | 04-Matplotlib模块/ | 电商用户行为数据 | --- ## 快速开始 ### 1. 克隆项目 ```bash git clone cd python数据分析与可视化 ``` ### 2. 创建虚拟环境 ```bash python -m venv venv # Windows venv\Scripts\activate # macOS / Linux source venv/bin/activate ``` ### 3. 安装依赖 ```bash pip install numpy pandas matplotlib seaborn scipy scikit-learn pip install pyecharts flask jieba wordcloud mplfinance tqdm pip install jupyter notebook ``` ### 4. 按学习路线开始 建议从 [`01-NumPy模块/`](01-NumPy模块/) 开始,按照[学习路线](#学习路线)逐步推进。 ### 5. 运行综合项目 ```bash # 电商运营数据分析(一键执行) cd 基于西格玛模型的电商运营数据分析 python run_all.py # 全球能源与碳排放分析 cd 数据分析三剑客综合项目 python generate_global_energy_data.py python run_analysis.py # 电商评论情感分析 cd 电商用户评论情感分析 python complete_project.py ``` --- ## 环境要求 - **Python** ≥ 3.8 - **核心依赖:** - numpy ≥ 1.18 - pandas ≥ 1.0 - matplotlib ≥ 3.0 - seaborn ≥ 0.10 - scikit-learn ≥ 0.22 - **可选依赖:** pyecharts, flask, jieba, wordcloud, mplfinance, scipy, tqdm - **开发工具:** Jupyter Notebook / JupyterLab, PyCharm(部分子项目含 PyCharm 配置) --- ## 参考资料 - [NumPy 官方文档](https://numpy.org/doc/) - [Pandas 官方文档](https://pandas.pydata.org/docs/) - [Matplotlib 官方文档](https://matplotlib.org/stable/) - [Seaborn 官方文档](https://seaborn.pydata.org/) - [PyECharts 官方文档](https://pyecharts.org/) - [scikit-learn 官方文档](https://scikit-learn.org/stable/) - [Matplotlib 速查表](https://matplotlib.org/cheatsheets/)(`04-Matplotlib可视化模块/matplotlib_cheatsheets/` 为官方仓库克隆) --- > 💡 **学习建议:** 每个模块先阅读 `.md` 讲义理解概念,再运行 `.py` 测试文件验证理解,最后通过 `.ipynb` notebook 进行综合练习。完成所有模块后,从综合实战项目入手,体验真实数据分析的完整流程。