我有一个NumPy值数组,我需要识别数组中连续值的组。
我试过写" for"循环来做到这一点,但我遇到了很多问题。所以我在itertools中查看了groupby的文档。我之前从未使用过这个,而且我对文档感到有点困惑,所以我来这里。
有人可以给更多的"外行说话"解释如何使用groupby?我本身并不需要示例代码,只需要对文档进行更全面的解释。
答案 0 :(得分:1)
一个好的答案是使用生成器对它进行分组(可能不是最快的方法)
def groupings(a):
g = []
for val in a:
if not g:
g.append(val)
elif abs(g[-1] - val) <= 1.00001:
g.append(val)
else:
yield g
g = []
print list(groupings(my_numpy_array))
我知道这并没有给你一个外行解释分组(连续的项目符合某些标准......对于这种类型的应用来说会有些痛苦)