numpy.string_是用于包含固定宽度字节字符串的数组的NumPy数据类型。另一方面,
str它是本机Python类型,不能用作NumPy数组的数据类型*。
如果创建包含字符串的NumPy数组,则该数组将使用该
numpy.string_类型(或
numpy.unipre_Python
3中的类型)。更准确地说,该数组将使用以下子数据类型
np.string_:
>>> a = np.array(['abc', 'xy'])>>> aarray(['abc', 'xy'], dtype='<S3')>>> np.issubdtype('<S3', np.string_)True
在这种情况下,数据类型为
'<S3':
<表示字节顺序(小尾数),
S表示字符串类型,并
3表示数组中的每个值最多包含三个字符(或字节)。
一个属性
np.string_和
str共享是不变性。尝试增加Python
str对象的长度将在内存中创建一个新对象。同样,如果您希望定宽NumPy数组容纳更多字符,则必须在内存中创建一个新的更大数组。
*请注意,可以创建一个
object包含对Python对象的 引用 的NumPy数组
str,但是此类数组的行为与普通数组完全不同。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)