我正在尝试打印两个1001x1数组的完整内容,但Python只给出截断输出,如下所示:
array([[5,45],
[1,23],
......,
[1,24],
[2,31]])
而不是完整的数组。
任何人都可以给我解决方法如何获得完整的1001x1阵列吗?
答案 0 :(得分:6)
请参阅NumPy教程中的Printing Arrays部分:
如果数组太大而无法打印,NumPy会自动跳过数组的中心部分,只打印角落:
>>> print(np.arange(10000)) [ 0 1 2 ..., 9997 9998 9999]
...
要禁用此行为并强制NumPy打印整个阵列,您可以使用set_printoptions更改打印选项。
>>> np.set_printoptions(threshold=nan)
np.set_printoptions
函数是NumPy库的一部分。
答案 1 :(得分:0)
我猜你曾尝试过一个简单的陈述,如:
print myarray
...而不是更明确的事情:
for each_item in myarray:
print each_item
......甚至:
print ', '.join([str(x) for x in myarray])
你看到elid输出的原因可能是因为numpy
在_str_
类中实现了 array
方法,试图给出“合理的“默认
数组的字符串表示形式。据推测,它们假设简单print
语句主要用于调试,日志记录或类似目的,并且结果报告或将结果编组到其他进程或存储,将使用更明确的方式完成迭代数据(正如我在这里所示)。