深度学习库存预测实战指南 · 基础篇
核心能力: 高性能多维数组、广播机制、线性代数与随机数。库存预测中用于特征工程、滑动窗口、矩阵运算。
| 操作 | 函数/语法 | 说明 |
|---|---|---|
| 创建数组 | np.array([1,2,3]) | 从列表生成 |
| 零/一矩阵 | np.zeros((3,4)) | 填充0或1 |
| 索引切片 | arr[1:4, 0:2] | 子矩阵视图 |
| 广播运算 | arr + 10 | 自动扩展维度 |
| 统计函数 | np.mean, np.std | 均值、标准差 |
# 库存滑动窗口特征示例 import numpy as np sales = np.array([120, 135, 110, 145, 160, 155]) window = 3 # 生成滑动窗口均值 rolling_mean = np.convolve(sales, np.ones(window)/window, mode='valid') print(rolling_mean) # [121.67 130. 138.33 153.33]
核心能力: DataFrame / Series、缺失值处理、分组聚合、时间序列。库存预测中用于加载CSV、清洗异常、特征衍生。
| 数据清洗任务 | Pandas实现 |
|---|---|
| 检测缺失值 | df.isnull().sum() |
| 填充缺失(均值) | df['col'].fillna(df['col'].mean()) |
| 删除重复行 | df.drop_duplicates() |
| 类型转换 | df['date'] = pd.to_datetime(df['date']) |
# 库存数据清洗示例 import pandas as pd df = pd.read_csv('inventory.csv') # 处理缺失销量 df['sales'].fillna(df['sales'].median(), inplace=True) # 去除异常值 (销量 < 0) df = df[df['sales'] >= 0] # 日期列转换 df['date'] = pd.to_datetime(df['date']) print(df.info())
绘图哲学: Matplotlib 灵活底层控制;Seaborn 高级统计图表,美观省力。库存预测中用于趋势分析、分布检查、相关性热图。
# 库存趋势可视化 (Matplotlib + Seaborn) import matplotlib.pyplot as plt import seaborn as sns # 假设 df 包含 'date' 和 'sales' plt.figure(figsize=(10,4)) sns.lineplot(data=df, x='date', y='sales', marker='o', color='#2d6a4f') plt.title('📅 日库存销量趋势', fontsize=16, fontweight='bold') plt.xlabel('日期'); plt.ylabel('销量') plt.grid(True, alpha=0.3) plt.tight_layout() plt.show()
✨ Seaborn 热图示例 — 库存特征相关性矩阵
# 相关性热图
corr = df[['sales', 'price', 'stock_level', 'promotion']].corr()
sns.heatmap(corr, annot=True, cmap='YlGnBu', linewidths=1,
cbar_kws={'shrink':0.8})
plt.title('库存特征相关性', fontsize=14)
plt.show()
| 库 | 核心对象 | 库存预测角色 |
|---|---|---|
| NumPy | ndarray | 数值特征、滑动窗口、矩阵运算 |
| Pandas | DataFrame | 数据加载、清洗、聚合、时间序列 |
| Matplotlib | Figure, Axes | 趋势图、对比图、自定义可视化 |
| Seaborn | 绘图函数 | 统计图、热图、分布分析 |
💡 掌握这四个库,即可高效完成库存预测中80%的数据处理与探索工作。