问题描述
我的代码检测到阈值以下的所有点,然后找到起点和终点。
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]
1楼
below = np.where(self.data < self.threshold)[0]
手段:
从np.where()返回的ndarrays元组中获取第一个元素,并将其分配给
below
。
2楼
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)
可能是由于该错误。