python 中的字符串 np 数组只取值的第一个字母
string np array in python only takes the first letter of a value
在下面的代码中,我想在 np 数组 capacity
中添加字符串“200”。
import numpy as np
capacity = np.repeat("", 6).reshape((6, 1))
capacity[0, 0] = "200"
然而 return 结果总是这样:
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)
祝你好运!
在下面的代码中,我想在 np 数组 capacity
中添加字符串“200”。
import numpy as np
capacity = np.repeat("", 6).reshape((6, 1))
capacity[0, 0] = "200"
然而 return 结果总是这样:
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)
祝你好运!