由于某些原因,我很难初始化一个带空格的numpy.chararray。
这是可行的:
char_array1 = np.chararray((3, 3))
char_array1[:] = 'a'
char_array1输出:
chararray([['a', 'a', 'a'],
['a', 'a', 'a'],
['a', 'a', 'a']],
dtype='|S1')这不是:
char_array2 = np.chararray((3, 3))
char_array2[:] = ' '
char_array2输出:
chararray([['', '', ''],
['', '', ''],
['', '', '']],
dtype='|S1')是什么导致了这种情况?我看不到剥离物品或其他东西的选项。
发布于 2017-05-08 12:26:45
事实上,char数组确实删除了空格:
与str或unicode类型的常规NumPy数组相比,这个类添加了以下功能:
当比较值向量字符串操作作为方法(例如endswith)和内缀运算符(例如"+","*","%")提供时,当索引比较运算符会自动从末尾删除空格时,值会自动从末尾删除空格。
所以答案是使用str或unicode类型常规数组:
char_array3 = np.empty((3, 3), dtype='str')
char_array3[:] = ' '
char_array3输出:
array([[' ', ' ', ' '],
[' ', ' ', ' '],
[' ', ' ', ' ']],
dtype='|S1')发布于 2017-05-08 12:33:47
只需使用ndarray创建您的阵列
chararray = np.ndarray((3,3), dtype='S1')
chararray[:]=' '提供:
array([[' ', ' ', ' '],
[' ', ' ', ' '],
[' ', ' ', ' ']],
dtype='|S1')https://stackoverflow.com/questions/43839709
复制相似问题