python - 在 Python 中类似矩阵的二维数组打印

标签 python arrays printing numpy 2d

假设我在 Python 的 numpy 数组中有一个矩阵

In [3]: my_matrix
Out[3]: 
array([[ 2.,  2.,  2.,  2.,  2.,  2.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  2.,  2.,  2.,  2.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  2.,  2.,  2.,
         2.,  2.,  2.,  2.,  2.]])

有没有办法让 Python/IPython 将我的数组打印为:

[ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2; 
  0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0; 
  0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 ]

? (~类似于MATLAB的做法)

此外,我注意到 IPython 在打印 numpy 数组时不会使用我的终端的整个宽度。其他功能可以(例如 pprint.pprint)。我该如何改变它?

最佳答案

使用numpy.set_printoptions .增加线宽:

np.set_printoptions(linewidth=150)

将 150 替换为您需要的任何内容。现在,按照您的要求打印(我猜这意味着没有小数点):

print my_matrix.astype('i')

如果您有浮点值,您还可以使用选项 precision 控制打印输出的精度:

np.set_printoptions(precision=3)

关于python - 在 Python 中类似矩阵的二维数组打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13676256/

相关文章:

ios - Swift 4 按第一个值排序字典

javascript - 有没有更好的方法从字符串中提取信息?

php - 如何正确创建 PDO 准备的 SQL 语句以使用数组进行 UPDATE

python - 如何提取具有给定值序列的 2 个后续列的行?

python - 如何让re.search寻找多种模式?

python - 按值拆分为等份

recursion - 如何在没有dolist的情况下在lisp中打印树,只有递归?

python - 使用 Delaunay 三角剖分加速 Python MST 计算

c# - 为 PDF 设置页边距、页眉和页脚而不重叠

Android 打印,为什么当我尝试从我的手机打印时收到警告