【问题标题】:Can I use dtype to find the elements of an numpy array are strings?我可以使用 dtype 来查找 numpy 数组的元素是字符串吗?
【发布时间】:2015-06-12 08:19:40
【问题描述】:

我得到了一个numpy数组,例如:

myArray = np.array(['a','bc'])

是否可以使用dtype来判断其元素是否为字符串?

我能做的唯一方法是检查myArray.dtype == 'S2',但我的问题是我事先不知道我的元素中有多少个字符。

我可以使用myArray.dtype == 'str' 之类的东西吗?

【问题讨论】:

    标签: python arrays numpy types


    【解决方案1】:

    您可以使用issubdtype 进行检查:

    >>> np.issubdtype(myArray.dtype, str)
    True
    

    该函数检查给定 dtype 是否在 NumPy 的 type hierarchy 中排序在另一个之下。

    或者,您可以直接检查 dtype 的字符代码。字符串类型有代码'S':

    >>> myArray.dtype.char
    'S'
    

    【讨论】:

    • +1 不知道np.issubdtype,我通常用issubclass(myArray.dtype.type, str) 来检查这些东西。
    猜你喜欢
    • 1970-01-01
    • 2019-08-14
    • 2021-09-17
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 1970-01-01
    相关资源
    最近更新 更多