为什么我只看到一个字母而不是“cube”当我没有输入dtype=“str”时,它工作了。我的问题是为什么?
代码:
np.full((3,3,3),"cube",dtype=str)
字符串
结果:
array([[['c', 'c', 'c'],
['c', 'c', 'c'],
['c', 'c', 'c']],
[['c', 'c', 'c'],
['c', 'c', 'c'],
['c', 'c', 'c']],
[['c', 'c', 'c'],
['c', 'c', 'c'],
['c', 'c', 'c']]], dtype='<U1')
型
4条答案
按热度按时间z9gpfhce1#
字符串
相当于
型
它将只接受字符串的第一个元素。
您可以通过以下方式获得完整结果:
型
或者是
型
或者只删除
dtype=str
。删除后,它将占用字符串的完整长度。型
v440hwme2#
full
的部分源代码是(参见文档中的[source]链接):字符串
np.asarray
可以推导出'cube'的填充值的'U4' dtype。但是
np.empty(shape, 'str')
产生'U1' dtype。它没有关于fill_value
的信息。这就是为什么没有dtype,它会推断出它需要一个足够大的字符串来容纳4个字符,但是没有它,它只分配了1个字符的空间。
toe950273#
应该可以
字符串
tkclm6bt4#
Dude,just remove(dtype:它是可选)。
代码:
字符串
语法:
型