首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用空格填充Python numpy chararray?

如何用空格填充Python numpy chararray?
EN

Stack Overflow用户
提问于 2017-05-08 12:22:56
回答 2查看 3.2K关注 0票数 1

由于某些原因,我很难初始化一个带空格的numpy.chararray

这是可行的:

代码语言:javascript
复制
char_array1 = np.chararray((3, 3))
char_array1[:] = 'a'
char_array1

输出:

代码语言:javascript
复制
chararray([['a', 'a', 'a'],
       ['a', 'a', 'a'],
       ['a', 'a', 'a']], 
      dtype='|S1')

这不是:

代码语言:javascript
复制
char_array2 = np.chararray((3, 3))
char_array2[:] = ' '
char_array2

输出:

代码语言:javascript
复制
chararray([['', '', ''],
       ['', '', ''],
       ['', '', '']], 
      dtype='|S1')

是什么导致了这种情况?我看不到剥离物品或其他东西的选项。

EN

回答 2

Stack Overflow用户

发布于 2017-05-08 12:26:45

事实上,char数组确实删除了空格:

与str或unicode类型的常规NumPy数组相比,这个类添加了以下功能:

当比较值向量字符串操作作为方法(例如endswith)和内缀运算符(例如"+","*","%")提供时,当索引比较运算符会自动从末尾删除空格时,值会自动从末尾删除空格。

所以答案是使用str或unicode类型常规数组:

代码语言:javascript
复制
char_array3 = np.empty((3, 3), dtype='str')
char_array3[:] = ' '
char_array3

输出:

代码语言:javascript
复制
array([[' ', ' ', ' '],
       [' ', ' ', ' '],
       [' ', ' ', ' ']], 
      dtype='|S1')
票数 3
EN

Stack Overflow用户

发布于 2017-05-08 12:33:47

只需使用ndarray创建您的阵列

代码语言:javascript
复制
chararray = np.ndarray((3,3), dtype='S1')
chararray[:]=' '

提供:

代码语言:javascript
复制
array([[' ', ' ', ' '],
   [' ', ' ', ' '],
   [' ', ' ', ' ']], 
  dtype='|S1')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43839709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档