在下面的代码中,我想添加字符串"200〃;在np阵列CCD_ 1中。
import numpy as np
capacity = np.repeat("", 6).reshape((6, 1))
capacity[0, 0] = "200"
然而,返回的结果总是这样:
array([['2'],
[''],
[''],
[''],
[''],
['']], dtype='<U1')
有人知道为什么只需要第一个字母(数字(吗?以及如何解决问题?
这是因为在创建数组时指定了dtype。<U1
-表示元素是长度为0或1的字符。这就是为什么当您尝试添加任意长度的字符串时,只添加第一个字符。
因此,如果您想使用任何len字符串,则需要将dtype指定为对象:
>>> capacity = np.array(['' for x in range(6)], dtype='object')
>>> capacity[0] = "200"
>>> capacity
array(['200', '', '', '', '', ''], dtype=object)
祝你好运!