python - 在一行上打印 `numpy.ndarray`

标签 python numpy multidimensional-array formatting

在使用 scipy/numpy 时,我确实获取了存储到 numpy.ndarray

中的信息
>>> a
array([[ 0.15555605,  0.51031528,  0.84580176,  0.06722675],
       [ 0.60556045,  0.62721023, -0.48979983, -0.04152777],
       [-0.78044785,  0.58837543, -0.21146041, -0.13568023],
       [ 0.        ,  0.        ,  0.        ,  1.        ]])
>>> print(a)
[[ 0.15555605  0.51031528  0.84580176  0.06722675]
 [ 0.60556045  0.62721023 -0.48979983 -0.04152777]
 [-0.78044785  0.58837543 -0.21146041 -0.13568023]
 [ 0.          0.          0.          1.        ]]

如何在一行中打印结果?

我已经检查过:

>>> numpy.get_printoptions()
{'precision': 8, 'threshold': 1000, 'edgeitems': 3, 'linewidth': 75, 'suppress': False, 'nanstr': 'nan', 'infstr': 'inf', 'formatter': None}

但即使将 linewidth 设置为 1000 也不会改变这一点。有没有办法更改该类型的显示格式?

是否也可以在每个数字之间添加逗号(就像数组显示但没有周围的 array(...))?

最佳答案

为了将 numpy.array 打印成一行,您可以使用其内置函数 numpy.tolist() 将其转换为列表。

例子:

import numpy as np

arr = np.array(((1, 2, 3), (4, 5, 6), (7, 8, 9)))

数组的简单打印:

print(arr)
[[1, 2, 3]
 [4, 5, 6]
 [7, 8, 9]]

numpy.tolist() 相比:

print(array.tolist())
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

关于python - 在一行上打印 `numpy.ndarray`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44139508/

相关文章:

python - 是否可以在 Python/Numpy 中对这个三重 for 循环进行矢量化?

c - 求二维数组中每一列的平均值

PHP:替换数组值在 foreach 循环后不会保留

python - 如何让我的播放器向鼠标位置旋转?

python - 对于每一行,找到第 n 个非 NaN 元素的列的最快方法是什么?

python - NumPy 或 SciPy 计算加权中位数

python - 将列表数组转换为 Keras 输入

javascript - 如何在 Strapi v3 中创建多级(嵌套)类别?

python - 为什么可以调用类的实例?

python - 是否可以在最近的 Ubuntu 版本上安装 pymedia?