当前位置: 首页 > news >正文

可视化各种库的用法并区分其作用

🐍 Python 常用库实战指南

代码示例 + 可视化图表,一站式掌握 Python 生态核心库

📊 NumPy🐼 Pandas📈 Matplotlib🤖 Scikit-learn🌐 Requests⚗️ Flask

📊 NumPy🐼 Pandas📈 Matplotlib🤖 Scikit-learn🌐 Requests⚗️ Flask

📊

NumPy — 科学计算基础

高性能多维数组运算,数学计算的基石

pip install numpy

numpy_demo.py

import numpy as np # ① 创建数组 a = np.array([1, 2, 3, 4, 5]) b = np.zeros((3, 3)) # 全零矩阵 c = np.arange(0, 10, 2) # [0,2,4,6,8] # ② 数学运算(向量化) x = np.linspace(0, 2*np.pi, 100) y_sin = np.sin(x) # 正弦波 y_cos = np.cos(x) # 余弦波 # ③ 矩阵运算 A = np.array([[1,2],[3,4]]) B = np.array([[5,6],[7,8]]) C = np.dot(A, B) # 矩阵乘法 inv_A = np.linalg.inv(A) # 求逆矩阵 # ④ 统计函数 data = np.random.randn(1000) print(f"均值: {data.mean():.4f}") print(f"标准差: {data.std():.4f}") print(f"形状: {data.shape}")

▶ 输出结果

均值: -0.0023
标准差: 0.9987
形状: (1000,)

NumPy 生成正弦/余弦波形图

🔢

ndarray

N维数组,核心数据结构

向量化运算

无需循环,极速批量计算

🧮

线性代数

矩阵乘法、求逆、特征值

🎲

随机数

均匀/正态/泊松分布

📐

广播机制

不同形状数组自动对齐

🔗

互操作

Pandas/PyTorch底层依赖

🐼

Pandas — 数据分析神器

DataFrame 结构化数据处理,Excel/CSV 好搭档

pip install pandas

pandas_read.py

import pandas as pd # 创建 DataFrame data = { '姓名': ['张三','李四','王五','赵六'], '数学': [92, 85, 78, 96], '英语': [88, 72, 90, 83], 'Python': [95, 88, 82, 91] } df = pd.DataFrame(data) # 读取 CSV 文件 # df = pd.read_csv('scores.csv') # 查看基本信息 print(df.head()) # 前5行 print(df.describe()) # 统计摘要 print(df.dtypes) # 数据类型

▶ df.head() 输出

姓名 数学 英语 Python
0 张三 92 88 95
1 李四 85 72 88
2 王五 78 90 82
3 赵六 96 83 91

📈

Matplotlib — 数据可视化

折线图、柱状图、饼图、散点图,一库搞定

pip install matplotlib

matplotlib_demo.py

import matplotlib.pyplot as plt import numpy as np fig, axes = plt.subplots(2, 2, figsize=(10, 8)) # ① 折线图 x = np.linspace(0, 2*np.pi, 100) axes[0,0].plot(x, np.sin(x), color='#6c63ff') axes[0,0].set_title('折线图 - 正弦波') # ② 散点图 x2 = np.random.randn(200) y2 = x2 * 0.8 + np.random.randn(200) axes[0,1].scatter(x2, y2, alpha=0.5) axes[0,1].set_title('散点图 - 相关性') # ③ 柱状图 cats = ['语文', '数学', '英语', 'Python'] vals = [85, 92, 78, 95] axes[1,0].bar(cats, vals) axes[1,0].set_title('柱状图 - 成绩') # ④ 饼图 labels = ['A班', 'B班', 'C班'] sizes = [40, 35, 25] axes[1,1].pie(sizes, labels=labels, autopct='%1.1f%%') plt.tight_layout() plt.savefig('charts.png', dpi=150) plt.show()

折线图

散点图

柱状图

饼图

🤖

Scikit-learn — 机器学习

分类/回归/聚类,统一 API,五步完成建模

pip install scikit-learn

📥
加载数据

🔧
预处理

✂️
划分集合

🏋️
训练模型

📊
评估预测

sklearn_demo.py

from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, classification_report # ① 加载数据集(鸢尾花150条) iris = load_iris() X, y = iris.data, iris.target # ② 划分训练集/测试集 X_train, X_test, y_train, y_test = \ train_test_split(X, y, test_size=0.2, random_state=42) # ③ 特征标准化 scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) # ④ 训练随机森林模型 model = RandomForestClassifier( n_estimators=100, random_state=42) model.fit(X_train, y_train) # ⑤ 预测与评估 y_pred = model.predict(X_test) acc = accuracy_score(y_test, y_pred) print(f"准确率: {acc:.2%}") # → 96.67%

▶ 输出结果

准确率: 96.67%

precision recall f1-score
setosa 1.00 1.00 1.00
versicolor 0.91 1.00 0.95
virginica 1.00 0.90 0.95

随机森林特征重要性排名

常见 sklearn 模型一览

分类
LogisticRegression
SVM / RandomForest
KNeighbors

回归
LinearRegression
Ridge / Lasso
GradientBoosting

聚类
KMeans
DBSCAN
AgglomerativeCl.

降维
PCA
t-SNE
TruncatedSVD

🌐

Requests + BeautifulSoup — 网络爬虫

发送请求获取网页,解析 HTML 提取所需数据

pip install requests beautifulsoup4

🌍 目标网址

📡 Requests
发送请求

📄 HTML文本

🔍 BeautifulSoup
解析提取

💾 存储数据

crawler_demo.py

import requests from bs4 import BeautifulSoup import pandas as pd # ① 发送 HTTP 请求 headers = { 'User-Agent': 'Mozilla/5.0' } url = 'https://example.com' resp = requests.get(url, headers=headers, timeout=10) resp.encoding = 'utf-8' # ② 检查状态码 if resp.status_code == 200: # ③ 解析 HTML soup = BeautifulSoup( resp.text, 'html.parser') # ④ 提取数据 title = soup.find('h1').text links = [a['href'] for a in soup.find_all('a') if a.get('href')] items = soup.select('ul li') texts = [i.text.strip() for i in items] # ⑤ 存储到 CSV pd.DataFrame({'链接': links}).\ to_csv('links.csv', index=False) print(f"成功爬取 {len(links)} 个链接")

1

发送请求使用requests.get(url)获取网页内容,注意设置headers模拟浏览器,避免被反爬。

2

解析结构使用BeautifulSoup将 HTML 字符串转为可操作的树形结构。

3

提取数据find()找第一个标签,find_all()找所有,select()用 CSS 选择器。

4

存储数据结合 Pandas 保存为CSV / Excel,或写入数据库。

⚠️爬虫礼仪:请遵守网站 robots.txt,控制请求频率,勿用于商业数据采集,尊重版权与隐私。

⚗️

Flask — 轻量 Web 框架

用 Python 快速搭建 Web 应用 / API 接口

pip install flask

app.py

from flask import Flask, jsonify, request app = Flask(__name__) # 学生数据(模拟数据库) students = [ {"id": 1, "name": "张三", "score": 92}, {"id": 2, "name": "李四", "score": 85}, ] # GET 查询所有学生 @app.route('/students', methods=['GET']) def get_students(): return jsonify(students) # GET 按 id 查询 @app.route('/students/<int:sid>') def get_student(sid): stu = next((s for s in students if s["id"] == sid), None) return jsonify(stu) if stu \ else ("Not Found", 404) # POST 新增学生 @app.route('/students', methods=['POST']) def add_student(): data = request.get_json() students.append(data) return jsonify(data), 201 if __name__ == '__main__': app.run(debug=True, port=5000)

🌐 API 路由结构

GET/students查询全部

GET/students/1查询单个

POST/students新增学生

▶ GET /students 响应

[
{
"id": 1,
"name": "张三",
"score": 92
},
{
"id": 2,
"name": "李四",
"score": 85
}
]

💡 运行后访问 http://127.0.0.1:5000/students
即可在浏览器中看到 JSON 数据

📦 学习路线推荐

🥚 入门阶段

NumPy + Pandas
学习数组和表格操作基础

🐣 进阶阶段

Matplotlib + Seaborn
把数据变成直观图表

🐥 实战阶段

Requests + BS4
爬取真实数据来分析

🦅 高阶阶段

Scikit-learn + Flask
建模 + 部署完整应用

网址观看详细版:ttps://lijunjie070318-maker.github.io/python-libraries-guide/

http://www.zskr.cn/news/1489574.html

相关文章:

  • JavaPackager保姆级教程:一键打包JavaFX应用为Windows安装包(含自定义JRE和图标)
  • 2026武汉配眼镜推荐,花多少钱才合理,五家店的实际花费横向对比 - 配眼镜新资讯
  • 终极免费视频图片压缩神器:CompressO让你的存储空间瞬间翻倍
  • 【优化求解】基于混合鸟群粒子群优化算法用于MRS的碰撞避免和连接保持附matlab代码
  • 抖音批量下载神器:3分钟掌握高效内容收集终极指南
  • 2026充氮烘箱厂家推荐及行业应用解析 - 品牌排行榜
  • 2026年AI编程工具终极横评:Cursor、Claude Code、MonkeyCode谁更强?
  • 从故障录波到数据分析:COMTRADE文件在继电保护调试中的实际应用全流程
  • 深度解析:Electron项目构建流程中的多平台发布陷阱与解决方案
  • WPS vs Office内存大战:实测7个文档打开,谁才是真正的‘内存刺客’?(附详细数据对比)
  • 计算机毕业设计之django基于Hadoop的招聘网站数据分析系统的设计与实现
  • 从MATLAB到C:手把手教你实现db4小波四层分解与重构(附完整代码)
  • 2026年广东氢氧化钾厂家评测:广东聚合硫酸铁/广东草酸/广东葡萄糖/广东醋酸钠/柠檬酸/氯化钙/消泡剂/硫酸镁/选择指南 - 优质品牌商家
  • Windows HEIC缩略图扩展方案:解决iPhone照片在Windows中的预览难题
  • 如何快速掌握GenomicSEM:基因组结构方程模型的完整指南
  • 以小鼠为模型 研究LIGHT 蛋白的生物学特性与免疫调控机制
  • 如何快速备份QQ空间:5分钟永久保存所有青春记忆
  • 2026年鱼蛙火锅品牌咨询电话及行业参考指南 - 品牌排行榜
  • 薪酬Agent如何自主完成社保与奖金计算?2026年企业智能自动化的深度实践
  • 2026年Q2地库改造技术解析:外墙涂料改幕墙/外墙涂料整改/外墙翻新/外立面改造/外立面整改/外立面翻新/老旧小区改造/选择指南 - 优质品牌商家
  • 广州荔湾区搬家公司推荐:钢琴搬运价格及拆装收费全解析 - 从来都是英雄出少年
  • 2026年8月国际学术盛会全表:60+场跨学科EI盛会,院士Fellow同台,双一流高校背书+权威出版社出版,EI检索稳定,高录用,人工智能、通信信号、能源电力、机械电气领域全覆盖,晋升评奖/职称毕业
  • Angular 2 架构:深入解析与最佳实践
  • 海参崴旅游服务机构排行:基于公开信息客观分析 - 互联网科技品牌测评
  • 2026性价比高的通风设备厂家推荐 - 品牌排行榜
  • 如何实现多模型音色融合:Retrieval-based-Voice-Conversion-WebUI模型融合实战指南
  • 广州搬家公司乱收费怎么办?2026正规维权渠道及先搬后付正规军清单 - 从来都是英雄出少年
  • 【AP出版 | 厦门理工学院、厦门理工学院数学与统计学院支持举办 | 经济分析、数理统计相关主题均可 | CNKI, 谷歌学术检索】第五届数理统计与经济分析国际学术会议 (MSEA 2026)
  • 成都化妆培训机构评测:成都化妆进修学校、成都学cosplay化妆、成都学中式化妆、成都学主播化妆、成都学减龄化妆选择指南 - 优质品牌商家
  • XGP存档提取器:免费解锁Xbox Game Pass游戏存档备份的终极指南