当前位置: 首页 > 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.jsqmd.com/news/977850/

相关文章:

  • 四川停车棚膜结构厂家专业度鉴别:四川膜结构车棚安装、四川膜结构车棚定制、张拉膜景观棚、张拉膜结构厂家电话、张拉膜结构安装哪家好选择指南 - 优质品牌商家
  • K域和X域中的系统建模
  • 滤波器设计避坑指南:手把手教你用Butterworth系数表(附高低通转换秘诀)
  • JavaPackager保姆级教程:一键打包JavaFX应用为Windows安装包(含自定义JRE和图标)
  • 2026武汉配眼镜推荐,花多少钱才合理,五家店的实际花费横向对比 - 配眼镜新资讯
  • 鸿蒙 PC 端截图标注工具全解析
  • 从游戏引擎到机器人控制:深入浅出聊聊反对称矩阵与向量叉乘的‘隐藏关联’
  • P16198 [ROIR 2014 Day 2] Cond 空调 题解
  • Ki67抗体如何解码细胞增殖与肿瘤预后?
  • 2026年最值得关注的AI编程平台:MonkeyCode全面解析
  • DayZ社区离线模式完整指南:打造你的专属单人末日世界
  • 终极免费视频图片压缩神器:CompressO让你的存储空间瞬间翻倍
  • 2026年北京名酒老酒回收选择指南:北京八大名酒回收/北京名酒回收/北京洋酒红酒回收/北京老酒回收/北京茅台酒回收/选择指南 - 优质品牌商家
  • 2026武汉配眼镜推荐,五家店的验光体验和专业度谁更实在 - 配眼镜新资讯
  • 【优化求解】基于混合鸟群粒子群优化算法用于MRS的碰撞避免和连接保持附matlab代码
  • nvpro_core2 详解:NVIDIA Vulkan / OpenGL 图形样例背后的现代 C++ 基础库
  • 抖音批量下载神器:3分钟掌握高效内容收集终极指南
  • 【RT-DETR实战】170、遥感目标检测综合项目:UCAS-AOD数据集实战
  • WPS vs Office内存大战:实测7个文档打开,谁才是真正的‘内存刺客’?(附详细数据对比)
  • 2026充氮烘箱厂家推荐及行业应用解析 - 品牌排行榜
  • 从故障录波到数据分析:COMTRADE文件在继电保护调试中的实际应用全流程
  • 2026年AI编程工具终极横评:Cursor、Claude Code、MonkeyCode谁更强?
  • 深度解析:Electron项目构建流程中的多平台发布陷阱与解决方案
  • 终极解决方案:3步永久保存你的微信聊天回忆,让珍贵对话永不消失!
  • 2026武汉配眼镜推荐,去哪家售后有保障,五家店的售后政策和服务实测 - 配眼镜新资讯
  • 自动化流程模板可以自己修改吗?企业级智能体选型与模板定制化技术深度实测
  • 自研技术驱动增长,融景科技以核心软著服务头部企业 - 广东科技观察
  • 计算机毕业设计之django基于Hadoop的招聘网站数据分析系统的设计与实现
  • 如何快速掌握GenomicSEM:基因组结构方程模型的完整指南
  • Windows HEIC缩略图扩展方案:解决iPhone照片在Windows中的预览难题