You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook的LaTeX中自定义NumPy数组列括号显示格式?

自定义NumPy数组输出为列堆叠矩阵(匹配Andrew Ng课程风格)

刚好我也碰到过这个需求!在deeplearning.ai的深度学习课程里,Andrew Ng习惯把训练样本按列堆叠成矩阵展示,但NumPy默认的数组打印格式没法直观体现每一列作为独立样本的结构——默认的方括号只包裹整个数组,看不到每列的边界。

受smci的思路启发,我们可以借助LaTeX的排版能力,在IPython/Jupyter环境里渲染出带整列方括号的矩阵,完美匹配课程里的展示效果。下面是完整的实现方案:

步骤1:导入必要模块

首先需要导入NumPy和IPython的渲染工具:

import numpy as np
from IPython.display import display, Math

步骤2:编写矩阵转换与渲染代码

我们可以把NumPy数组转换成LaTeX格式的矩阵,让每一列都被独立的方括号包裹:

# 示例:2个特征、3个样本的矩阵(对应课程里的X矩阵)
X = np.array([[135, 142, 128],
              [30, 28, 32]])

# 生成LaTeX代码:构建带列方括号的矩阵
latex_template = r'\begin{align}\quad\boldsymbol X = \begin{bmatrix}'
# 遍历每一列(转置X后取行就是原数组的列)
for col in X.T:
    # 把列向量转换成LaTeX列向量格式
    col_latex = r'\begin{bmatrix}' + r' \\ '.join(map(str, col)) + r'\end{bmatrix}'
    latex_template += col_latex + r' & '  # LaTeX矩阵中用&分隔列

# 去掉末尾多余的&和空格,补全LaTeX结构
latex_template = latex_template[:-2] + r'\end{bmatrix}\end{align}'

# 在IPython环境中渲染显示
display(Math(latex_template))

效果说明

运行这段代码后,你会看到和课程里一致的矩阵展示:每个样本作为一列,列的方括号完整覆盖整列的所有元素,视觉上非常清晰。

这种方法的优势在于:

  • 完全匹配课程中的矩阵展示风格,避免了NumPy默认输出的混淆
  • 借助LaTeX的排版能力,即使是高维度数组也能保持良好的可读性
  • 代码逻辑简单,容易扩展(比如添加数字格式化、调整对齐方式等)

内容的提问来源于stack exchange,提问作者user1629342

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:33:51