【发布时间】:2019-10-06 13:16:18
【问题描述】:
当我打印一个 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]])
【问题讨论】:
-
有没有办法在“一次性”的基础上做到这一点?也就是说,在脚本中打印一次完整的输出,而不是其他时间?
-
@Matt O'Brien 请参阅下面 ZSG 的回答
-
您能否将接受的答案更改为推荐
np.inf的答案?np.nan和'nan'只能通过侥幸实现,而'nan'doesn't even work in Python 3 因为他们改变了threshold='nan'所依赖的混合类型比较实现。 -
(
threshold=np.nan而不是'nan'取决于不同的侥幸,即数组打印逻辑将数组大小与a.size > _summaryThreshold的阈值进行比较。这总是返回Falsefor @ 987654333@。如果比较的是a.size <= _summaryThreshold,则测试是否应该完全打印数组而不是测试是否应该汇总,此阈值将触发所有数组的汇总。) -
一种“一次性”的方式:如果你有一个 numpy.array
tmp只是list(tmp)。其他具有不同格式的选项是tmp.tolist()或更多控制print("\n".join(str(x) for x in tmp))。
标签: python arrays numpy options output-formatting