python 3 中将 numpy 数组列表转换为字符串时的省略号
Ellipses when converting list of numpy arrays to string in python 3
我有一个 numpy 数组列表。我想将数组列表转换为字符串。这样就会有一长串像'[stuff],[stuff2]'之类的数组,每个数组有192个元素。如果列表有 5 个或更少的数组,当我执行 str(myList) 时转换有效。如果它有 6 个数组,我会返回带有省略号的截断数组。为什么是这样?我怎样才能阻止它?
我检查了数组本身,它们实际上不包含省略号,它们包含正确的值。
我进一步研究了它,如果我做类似 str(myList[0:5]) 的事情,它适用于前 5 个数组,但第 6 个数组总是变成省略号。请注意,这不仅仅是打印到屏幕时的省略号,我正在保存这个变量,当我查看保存的文本时它有省略号。
快速看一下,唯一的方法是使用 numpy.set_printoptions:
import numpy as np
a = np.random.randint(5, size=(6, 192))
s1 = str(a)
np.set_printoptions(threshold = np.prod(a.shape))
s2 = str(a)
print('...' in s1)
print('...' in s2)
给予
True
False
在我的 Ubuntu 14.04 系统上,Python 2.7,Numpy 1.8.2
我会在更改后将默认值恢复为 1000,并且,在我的
意见,函数 numpy.array2string 应该有一个阈值
参数。
我有一个 numpy 数组列表。我想将数组列表转换为字符串。这样就会有一长串像'[stuff],[stuff2]'之类的数组,每个数组有192个元素。如果列表有 5 个或更少的数组,当我执行 str(myList) 时转换有效。如果它有 6 个数组,我会返回带有省略号的截断数组。为什么是这样?我怎样才能阻止它?
我检查了数组本身,它们实际上不包含省略号,它们包含正确的值。
我进一步研究了它,如果我做类似 str(myList[0:5]) 的事情,它适用于前 5 个数组,但第 6 个数组总是变成省略号。请注意,这不仅仅是打印到屏幕时的省略号,我正在保存这个变量,当我查看保存的文本时它有省略号。
快速看一下,唯一的方法是使用 numpy.set_printoptions:
import numpy as np
a = np.random.randint(5, size=(6, 192))
s1 = str(a)
np.set_printoptions(threshold = np.prod(a.shape))
s2 = str(a)
print('...' in s1)
print('...' in s2)
给予
True
False
在我的 Ubuntu 14.04 系统上,Python 2.7,Numpy 1.8.2
我会在更改后将默认值恢复为 1000,并且,在我的 意见,函数 numpy.array2string 应该有一个阈值 参数。