3

我正在尝试打印两个 1001x1 数组的完整内容,但 Python 只给我截断的输出,如下所示:

array([[5,45],
       [1,23],
       ......,
       [1,24],
       [2,31]])  

而不是完整的数组。

谁能给我如何获得完整的 1001x1 阵列的解决方案?

4

2 回答 2

6

请参阅NumPy 教程中的打印数组部分:

如果数组太大而无法打印,NumPy 会自动跳过数组的中心部分,只打印角落:

>>> print(np.arange(10000))
[   0    1    2 ..., 9997 9998 9999]

...

要禁用此行为并强制 NumPy 打印整个数组,您可以使用 set_printoptions 更改打印选项。

>>> np.set_printoptions(threshold=nan)

np.set_printoptions函数是 NumPy 库的一部分。

于 2010-12-24T22:55:13.560 回答
0

我猜你尝试了一个简单的语句,比如:

print myarray

...而不是更明确的东西,例如:

for each_item in myarray:
    print each_item

... 甚至:

print ', '.join([str(x) for x in myarray])

您看到省略输出的原因大概是因为在其类中numpy实现了一个方法,该方法试图给出数组的“合理”默认字符串表示。他们大概是假设简单语句将主要用于调试、日志记录或类似目的,并且结果报告或将结果编组到其他进程或存储,将使用对数据的更明确的迭代来完成(正如我在这里展示的那样)。_str_arrayprint

于 2010-12-24T23:05:15.950 回答