ホームページ >バックエンド開発 >Python チュートリアル >Python でスライディング ウィンドウ イテレータを作成するにはどうすればよいですか?

Python でスライディング ウィンドウ イテレータを作成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-16 09:33:10633ブラウズ

How Can I Create a Sliding Window Iterator in Python?

Python のスライディング ウィンドウ イテレータ

ストリーミング データや逐次処理を扱う場合、ローリング ウィンドウ イテレータまたはスライディング ウィンドウ イテレータは、定義されたウィンドウ内の要素のストリーム。

Python では、スライディング ウィンドウ イテレータを作成できます。組み込みの itertools モジュールを使用します。古いバージョンの Python ドキュメントの window() 関数は、簡潔で効率的な実装を提供します。

from itertools import islice

def window(seq, n=2):
    "Returns a sliding window (of width n) over data from the iterable"
    "   s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ...                   "
    it = iter(seq)
    result = tuple(islice(it, n))
    if len(result) == n:
        yield result
    for elem in it:
        result = result[1:] + (elem,)
        yield result

また、単純なリストまたはタプルの場合は、単純なアプローチを使用できます。

seq = [0, 1, 2, 3, 4, 5]
window_size = 3

for i in range(len(seq) - window_size + 1):
    print(seq[i: i + window_size])

どちらの場合も、ウィンドウはシーケンス内をスライドして、指定されたサイズの重複ウィンドウを生成し、管理しやすい形式でデータの分析と処理を容易にします。マナー。

以上がPython でスライディング ウィンドウ イテレータを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。