0
我有一个NumPy数组值,我需要确定数组中的连续值组。在NumPy数组中识别连续值的组
我试过写一个“for”循环来做到这一点,但我遇到了很多问题。所以我在itertools中查看了groupby的文档。我以前从来没有用过这个,我对文档有点困惑,所以在这里。
有人能给出更多的“外行人讲”如何使用groupby的解释?本身不需要示例代码,只是对文档的更全面的解释。
我有一个NumPy数组值,我需要确定数组中的连续值组。在NumPy数组中识别连续值的组
我试过写一个“for”循环来做到这一点,但我遇到了很多问题。所以我在itertools中查看了groupby的文档。我以前从来没有用过这个,我对文档有点困惑,所以在这里。
有人能给出更多的“外行人讲”如何使用groupby的解释?本身不需要示例代码,只是对文档的更全面的解释。
一个很好的答案,这是使用发电机来组它(可能不是最快的方法)
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))
我知道这并不会给你组的深入浅出的解释通过匹配(组连续项一些标准......这种类型的应用程序会有点痛苦)
请参阅[这个问题](http://stackoverflow.com/questions/4651683/numpy-grouping-using-itertools-groupby-performance)。 –