Python 如何在LaTeX for Jupyter笔记本中自定义numpy数组列括号的显示格式?

Python 如何在LaTeX for Jupyter笔记本中自定义numpy数组列括号的显示格式?,python,numpy,latex,jupyter-notebook,output-formatting,Python,Numpy,Latex,Jupyter Notebook,Output Formatting,我正在学习deeplearning.ai上的DL。在本课程中,Andrew将培训示例堆叠在如下列中 numpy实际上是这样打印数组的 我的问题是,如何定制numpy的输出,如下所示 也就是说,将内方括号“加长”以覆盖整个柱 如有任何答复,将不胜感激 多亏了smci的灵感,我得到了这个 from IPython.display import display, Math display(Math(r'\begin{align}\quad\boldsymbol X=\begin{bmatrix}

我正在学习deeplearning.ai上的DL。在本课程中,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格式{},如何解决这个问题?欢迎任何回复。

这里有一个小函数,它使用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⎦⎦
>>def pretty\u col(数据):
...     assert data.ndim==1
...     如果data.size>>def pretty_cols(数据,逗号=False):
...     assert data.ndim==2
...     如果是逗号:
...         返回“\n”.join(行[0]+line+line[-1]表示映射中的行(str.join,data.shape[0]//2*(“”,)+(“”,)+(“”,)+(data.shape[0]-1)//2*(“”,),zip(*map(str.split,map(pretty_col,data.T),data.shape[1]*('\n',)))
...     其他:
...         返回'\n'.join(行[0]+行+行[-1],表示映射中的行('''.join,zip(*map(str.split,map(pretty_col,data.T),data.shape[1]*('\n','))))
...
>>>印花(漂亮的颜色(np.arange(-1,2,0.25)。重塑(4,3)))
⎡⎡-1.⎤⎡-0.75⎤⎡-0.5⎤⎤
⎢⎢-0.25⎥⎢ 0⎥⎢ 0.25⎥⎥
⎢⎢ 0.5⎥⎢ 0.75⎥⎢ 1.⎥⎥
⎣⎣ 1.25⎦⎣ 1.5⎦⎣ 1.75⎦⎦
>>> 
>>>印花(漂亮的颜色(np.arange(-1,2,0.25)。重塑(4,3),真)
⎡⎡-1.⎤  ⎡-0.75⎤  ⎡-0.5⎤⎤
⎢⎢-0.25⎥  ⎢ 0⎥  ⎢ 0.25⎥⎥
⎢⎢ 0.5⎥, ⎢ 0.75⎥, ⎢ 1.⎥⎥
⎣⎣ 1.25⎦  ⎣ 1.5⎦  ⎣ 1.75⎦⎦

为了清楚起见,您需要自定义显示格式(例如HTML/CSS、LateX),而不是输出(例如数值)。你想在笔记本、网页、导出到文档中显示它吗?两者都很棒!非常感谢。你的问题启发了我。我将寻找一种在jupyter notebookGreat中使用python打印LateX的方法。如果你搜索这些关键字,你可能会找到一个重复的。这个可能会有所帮助。如果允许的话,我会回答我自己的问题,因为这是一个副本。当然,这是一个直接副本。请把你的答案贴在那里。我们可以将此问题作为重复问题关闭,因此它将重定向到该问题。此解决方案完全满足我的需要。非常感谢你!