我打印一个 numpy 数组时,得到的是截断后的表示,但我需要完整的数组。
>>> numpy.arange(10000)
array([ 0, 1, 2, ..., 9997, 9998, 9999])
>>> numpy.arange(10000).reshape(250,40)
array([[ 0, 1, 2, ..., 37, 38, 39],
[ 40, 41, 42, ..., 77, 78, 79],
[ 80, 81, 82, ..., 117, 118, 119],
...,
[9880, 9881, 9882, ..., 9917, 9918, 9919],
[9920, 9921, 9922, ..., 9957, 9958, 9959],
[9960, 9961, 9962, ..., 9997, 9998, 9999]])
np.inf
的答案?np.nan
和'nan'
只是碰巧起作用,而且['nan'在Python 3中甚至都不起作用](http://ideone.com/tjyGhX),因为它们改变了混合类型比较实现所依赖的
threshold='nan'`。 - user2357112threshold=np.nan
而不是'nan'
取决于另一个巧合,即数组打印逻辑使用a.size > _summaryThreshold
将数组大小与阈值进行比较。对于_summaryThreshold=np.nan
,其始终返回False
。如果比较是a.size <= _summaryThreshold
,则测试是否应完全打印数组而不是测试是否应该进行汇总,则此阈值将触发所有数组的汇总。 - user2357112tmp
,只需使用list(tmp)
。其他格式不同的选项包括tmp.tolist()
,或者为了更多控制使用print("\n".join(str(x) for x in tmp))
。 - travc