我可以使用 dtype 来查找 numpy 数组的元素是字符串吗?
Can I use dtype to find the elements of an numpy array are strings?
我得到了一个 numpy 数组,例如:
myArray = np.array(['a','bc'])
是否可以用dtype
判断其元素是否为字符串?
我唯一能做的就是检查 myArray.dtype == 'S2'
,但我的问题是我事先不知道我的元素中有多少个字符。
我可以使用类似 myArray.dtype == 'str'
的东西吗?
您可以使用 issubdtype
进行检查:
>>> np.issubdtype(myArray.dtype, str)
True
该函数检查在 NumPy 的 type hierarchy.
中给定的数据类型是否排在另一个数据类型的下方
或者,您可以直接检查 dtype 的字符代码。字符串类型有代码 'S'
:
>>> myArray.dtype.char
'S'
我得到了一个 numpy 数组,例如:
myArray = np.array(['a','bc'])
是否可以用dtype
判断其元素是否为字符串?
我唯一能做的就是检查 myArray.dtype == 'S2'
,但我的问题是我事先不知道我的元素中有多少个字符。
我可以使用类似 myArray.dtype == 'str'
的东西吗?
您可以使用 issubdtype
进行检查:
>>> np.issubdtype(myArray.dtype, str)
True
该函数检查在 NumPy 的 type hierarchy.
中给定的数据类型是否排在另一个数据类型的下方或者,您可以直接检查 dtype 的字符代码。字符串类型有代码 'S'
:
>>> myArray.dtype.char
'S'