一、处理数据------pandas
主要做数据处理:
- 读取数据(CSV / Excel / SQL)
- 清洗数据(缺失值、重复值)
- 数据计算(分组、聚合)
- 数据结构(DataFrame)
📊 plotly 是干嘛的
主要做可视化,而且是:
👉 交互式图表(能缩放、悬停、点击)
例子:
import plotly.express as px
fig = px.bar(df, x=df.index, y="sales")
fig.show()
👉 这一步是"把数据画出来"
二、数据可视化------Matplotlib&Seaborn&plotly
这三个库本质上是同一类工具(数据可视化),但定位不一样。
- Matplotlib:最底层、最灵活(但最麻烦),适合需要精细控制(论文/定制图)
- Seaborn:Matplotlib 的"美化+简化版",适合做数据分析(Jupyter里自己看)
- Plotly:现代交互式图表(最炫、最适合展示),适合做展示/dashboard
1、Matplotlib(基础款 / 工具箱)
👉 Python 最原始的画图库
特点
- 非常底层、可控性强
- 什么都能画
- 但代码比较"啰嗦"
示例
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
plt.title("Line Chart")
plt.show()
优点
- 灵活到极致
- 所有其他库都基于它
缺点
- 写起来繁琐
- 默认样式比较"丑"
2、Seaborn(美化版 Matplotlib)
👉 在 Matplotlib 上封装了一层,让图更好看、更简单
特点
- 默认就很好看
- 专注统计图(分布、关系、分类)
示例
import seaborn as sns
sns.barplot(x=["A", "B", "C"], y=[10, 20, 15])
优点
- 代码更少
- 自动美化
- 很适合数据分析
缺点
- 灵活性不如 Matplotlib
- 本质还是静态图
3、Plotly(交互式图表)
👉 现代 Web 风格图表
特点
- 可以缩放、悬浮提示、点击
- 支持网页展示 / dashboard
- 非常适合汇报、BI
示例
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length")
fig.show()
优点
- 交互性强(鼠标悬停、缩放)
- 很适合展示给别人看
- 和网页/前端结合好
缺点
- 有时在 Jupyter 里显示会有兼容问题(你刚遇到的)
- 自定义细节不如 Matplotlib
**三、工具箱------**scikit-learn
pip install scikit-learn
👉 sklearn = 用来做机器学习(预测 / 分类 / 聚类)的工具箱
对于机器学习来说,最常用的算法工具包是 scikit-learn,简称 sklearn,它是使用最广泛的开源 Python 机器学习库,堪称机器学习神器。sklearn 提供了大量用于数据挖掘的机器学习工具,覆盖数据预处理、可视化、交叉验证和多种机器学习算法。
1、分类(Classification)
比如:
- 判断邮件是不是垃圾邮件
- 判断用户会不会流失
from sklearn.linear_model import LogisticRegression
2、 回归(Regression)
比如:
- 预测房价
- 预测销量
from sklearn.linear_model import LinearRegression
3、聚类(Clustering)
比如:
- 用户分群
- 客户画像
from sklearn.cluster import KMeans
4、数据预处理
比如:
- 标准化
- 缺失值处理
from sklearn.preprocessing import StandardScaler
5、模型评估
比如:
- 准确率
- 混淆矩阵
from sklearn.metrics import accuracy_score