【问题标题】:How to check if an object is an np.array()?如何检查对象是否为 np.array()?
【发布时间】:2019-12-11 06:13:57
【问题描述】:

我正在尝试构建一个代码来检查给定对象是否是 python 中的 np.array() 。

if isinstance(obj,np.array()) 似乎不起作用。

如果能提供任何帮助,我将不胜感激。

【问题讨论】:

标签: python arrays


【解决方案1】:

isinstance(obj, numpy.ndarray) 可以工作

【讨论】:

    【解决方案2】:

    下面的代码似乎有效。使用numpy.ndarray

    import numpy as np
    
    l = [1,2,3,4]
    
    l_arr = np.array(l)
    
    if isinstance(l_arr, np.ndarray):
        print("Type is np.array")
    else:
        print("Type is not np.array")
    

    输出:

    Type is np.array
    

    【讨论】:

      【解决方案3】:

      您可以将传递给检查函数的对象类型与“np.ndarray”进行比较,以检查给定对象是否确实是 np.ndarray

      相同的示例代码 sn-p 应如下所示:

      if isinstance(obj,np.ndarray):
          # proceed -> is an np array
      else
          # Not an np.ndarray
      

      【讨论】:

      • isinstance 几乎适用于所有情况。如果valuenumpy.ndarray 的子类的实例,此代码将失败。
      • 非常感谢您的澄清,先生。
      【解决方案4】:

      numpy.array 返回的typenumpy.ndarray。您可以通过调用type(numpy.array([]))repl 中确定这一点。请注意,即使在原始类不可公开访问的情况下,此技巧也适用。使用直接引用通常更好,但存储来自type(someobj) 的返回以供以后比较确实有它的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-11
        • 1970-01-01
        • 2021-10-29
        • 2010-09-27
        • 2012-06-26
        • 2011-05-16
        • 2010-10-13
        相关资源
        最近更新 更多