当前位置: 代码迷 >> python >> 使用np.where()[0]
  详细解决方案

使用np.where()[0]

热度:84   发布时间:2023-07-16 10:17:38.0

我的代码检测到阈值以下的所有点,然后找到起点和终点。

below = np.where(self.data < self.threshold)[0]


startandend = np.diff(below)
startpoints = np.insert(startandend, 0, 2)
endpoints = np.insert(startandend, -1, 2)
startpoints = np.where(startpoints>1)[0]
endpoints = np.where(endpoints>1)[0]
startpoints = below[startpoints]
endpoints = below[endpoints]

我在这里的np.where()函数之后并没有真正使用[0]

below = np.where(self.data < self.threshold)[0]

手段:

从np.where()返回的ndarrays元组中获取第一个元素,并将其分配给below

np.where很棘手。 它返回满足条件的索引列表数组即使条件从未满足。 特别是在np.where(my_numpy_array==some_value)[0]的情况下,这意味着您需要数组中的第一个值,该值是一个列表,并且包含满足条件的单元格的索引列表。

满口。 简单来说, np.where(array==x)[0]返回满足条件的索引列表。 我猜这是为广泛应用程序设计numpy的结果。

请记住,没有匹配项仍返回空列表 only size-1 arrays can be converted to python (some type)类的错误only size-1 arrays can be converted to python (some type)可能是由于该错误。

  相关解决方案