1

我正在 deeplearning.ai 上学习深度学习。在本课程中,Andrew 在如下列中堆叠训练示例。

在此处输入图像描述

numpy 实际上打印这样的数组。

在此处输入图像描述

我的问题是,如何自定义 numpy 的输出如下

在此处输入图像描述

也就是说,让内部方括号“更长”以覆盖整列。

任何回应将不胜感激。

感谢 smci 的启发,我得到了这个。

from IPython.display import display, Math
display(Math(r'\begin{align}\quad\boldsymbol X=\begin{bmatrix}\begin{bmatrix}135 \\30 \\\end{bmatrix},\begin{bmatrix}57 \\15 \\\end{bmatrix},\begin{bmatrix}150 \\35 \\\end{bmatrix}\end{bmatrix}\end{align}'))

另一个问题出现了:

{align}等latex记法占用python格式{},如何解决?任何回应将不胜感激。

4

1 回答 1

1

这是一个使用 unicode 将矩阵显示为列的小函数。我不知道如何将其连接到 Jupyter:

>>> def pretty_col(data):
...     assert data.ndim == 1
...     if data.size <= 1:
...         return format(data)
...     else:
...         return format(data[:, None])[1:-1].replace('[', '\u23A1', 1).replace(' [', '\u23A2', data.size-2).replace(' [', '\u23A3').replace(']', '\u23A4', 1).replace(']', '\u23A5', data.size-2).replace(']', '\u23A6')
...
>>> def pretty_cols(data, comma=False):
...     assert data.ndim == 2
...     if comma:
...         return '\n'.join(line[0] + line + line[-1] for line in map(str.join, data.shape[0] // 2 * ('  ',) + (', ',) + (data.shape[0] - 1) // 2 * ('  ',), zip(*map(str.split, map(pretty_col, data.T), data.shape[1]*('\n',)))))
...     else:
...         return '\n'.join(line[0] + line + line[-1] for line in map(''.join, zip(*map(str.split, map(pretty_col, data.T), data.shape[1]*('\n',)))))

...
>>> print(pretty_cols(np.arange(-1, 2, 0.25).reshape(4, 3)))
⎡⎡-1.  ⎤⎡-0.75⎤⎡-0.5 ⎤⎤
⎢⎢-0.25⎥⎢ 0.  ⎥⎢ 0.25⎥⎥
⎢⎢ 0.5 ⎥⎢ 0.75⎥⎢ 1.  ⎥⎥
⎣⎣ 1.25⎦⎣ 1.5 ⎦⎣ 1.75⎦⎦
>>> 
>>> print(pretty_cols(np.arange(-1, 2, 0.25).reshape(4, 3), True))
⎡⎡-1.  ⎤  ⎡-0.75⎤  ⎡-0.5 ⎤⎤
⎢⎢-0.25⎥  ⎢ 0.  ⎥  ⎢ 0.25⎥⎥
⎢⎢ 0.5 ⎥, ⎢ 0.75⎥, ⎢ 1.  ⎥⎥
⎣⎣ 1.25⎦  ⎣ 1.5 ⎦  ⎣ 1.75⎦⎦
于 2018-04-26T03:52:04.123 回答