【问题标题】:How to check if all elements of a numpy array have integer values? [duplicate]如何检查numpy数组的所有元素是否具有整数值? [复制]
【发布时间】:2020-09-24 10:04:56
【问题描述】:

正如标题所说,它不是关于 type 的元素。我需要确保元素的values 是整数,即

np.array([1, 2, 3])
np.array([1., 2.0, 9/3])

必须在“它们是整数吗?”-检查之后都给出[True, True, True]

有没有一种干净且 Pythonic/numpyic 的方式来做到这一点?

我尝试了一些多行组合,例如:

isinstance(x, (int, np.integer)) 
#or
(1.0).is_integer()

但它们既笨重又丑陋。

【问题讨论】:

  • 我在这方面取得了一些进展。现在有一个独立的 numpy 函数可用。让我们看看它是否会变成 numpy。

标签: python numpy


【解决方案1】:

我用的是这个quantity % int(quantity) == 0

【讨论】:

    【解决方案2】:

    另一种方式:

    >>> x = np.array([1.,2.0,9/3])
    >>> [not (i%1) for i in x]
    [True, True, True]
    

    【讨论】:

      【解决方案3】:

      这是一个使用is_integer() 的单行器:

      >>> x = np.array([1., 2.0, 9/3])
      >>> [i.is_integer() for i in x]
      [True, True, True]
      

      【讨论】:

      • 我用is_integer()添加了一行解决方案,不繁琐。
      猜你喜欢
      • 2019-08-22
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 2022-11-14
      相关资源
      最近更新 更多