簡體   English   中英

識別NumPy數組中的連續值組

[英]Identify groups of consecutive values within NumPy array

我有一個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))

我知道這不會給您一個通俗易懂的分組依據說明(符合某些條件的分組連續項目...對於這種類型的應用程序來說會有些痛苦)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM