长NumPy数组无法完全打印?


问题内容

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

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

而不是完整的数组。

谁能给我解决方案,以获取完整的1001x1阵列?


问题答案:

我猜您尝试了一个简单的语句,例如:

print myarray

…而不是更明确的内容:

for each_item in myarray:
    print each_item

… 甚至:

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

您之所以会看到输出消失的原因大概是因为在其类中numpy实现了一个 _str_
方法,该方法array试图为数组提供“合理的”默认字符串表示形式。据推测,它们假设简单的print语句将主要用于调试,记录或类似目的,并且将使用对数据进行更明确的迭代来完成结果的报告或将结果编组到其他进程或存储中(如我在这里所示)。