手册中的简单numpy示例无法按预期工作

手册中的简单numpy示例无法按预期工作,numpy,Numpy,以下代码来自Numpy 1.4.1手册 根据手册,这应该是输出 chararray([['a', 'a', 'a'], ['a', 'a', 'a'], ['a', 'a', 'a']], dtype='|S1') 相反,我得到了 [['\xd8' '3' 'U'] ['\xb7' '\x18' '\xc2'] ['\xbd' '' '\x10']] 这看起来像是未初始化的值。有人知道这里发生了什么吗?我正在使用Debian Squence的num

以下代码来自Numpy 1.4.1手册

根据手册,这应该是输出

chararray([['a', 'a', 'a'],
       ['a', 'a', 'a'],
       ['a', 'a', 'a']],
      dtype='|S1')
相反,我得到了

[['\xd8' '3' 'U']
 ['\xb7' '\x18' '\xc2']
 ['\xbd' '' '\x10']]
这看起来像是未初始化的值。有人知道这里发生了什么吗?我正在使用Debian Squence的numpy软件包,我意识到它已经过时了,但是我在从Stability备份1.6软件包时遇到了一些问题


更新:我现在已经从Stability中向后移植了1.6包,不包括文档,因为某些原因无法构建。我得到了完全相同的结果。我想我会继续向numpy项目报告这一点。

我的机器上没有安装numpy 1.4,但如果我运行您编写的代码,肯定会得到与手册不匹配的类似答案。但应注意的是,在最新版本的numpy手册中,示例发生了变化:

>>> charar = np.chararray((3, 3))
>>> charar[:] = 'a'
>>> charar
chararray([['a', 'a', 'a'],
       ['a', 'a', 'a'],
       ['a', 'a', 'a']],
      dtype='|S1')

此外,
np.chararray
post v1.4仅包含在numpy中用于与Numarray的向后兼容性,手册规定不应将其用于新开发


希望有帮助。

您确定正在执行赋值语句吗?如果执行类似于
charar.fill('b')
的操作,然后打印出数组,会发生什么情况?@Talonmes:是的,我确信赋值语句正在执行。:-)字符填充('b')确实给出了一个'b'数组。你有这个方法的文档链接吗?谢谢。嗨,乔希,谢谢你的评论。我引用的示例仍在您引用的参考中,只需向下滚动即可。另外,我认为本文档是针对dev版本的。我更喜欢看1.6文档。我刚刚设法升级到1.6,但行为没有改变。无论如何,我想我应该报告这件事。(顺便说一句,numpy手册对这个字符数组的东西很混乱。他们有太多的构造函数。)嗨,法希姆,看起来文档的开发版本和官方的v1.6版本是一样的:是的,就是这样。问题报告,顺便说一句。
>>> charar = np.chararray((3, 3))
>>> charar[:] = 'a'
>>> charar
chararray([['a', 'a', 'a'],
       ['a', 'a', 'a'],
       ['a', 'a', 'a']],
      dtype='|S1')