次の質問はループで簡単に解決できますが、これを達成するためのより Pythonic な方法があるのではないかと思います。
本質的に、私はグループにクラスター化される傾向があるブーリアンの iterable を持っています。以下に例を示します。
[True, True, True, True, False, False, False, True, True, True, True, True]
s の各クラスターの開始インデックスと終了インデックスを選択したいと思いますTrue
。ループを使用すると、これは簡単です。反復子が であるたびに、True
既にTrue
クラスターにいるかどうかを確認するだけで済みます。そうでない場合は、in_true_cluster
変数を true に設定し、インデックスを保存します。を見つけたらFalse
、index - 1 を終点として保存します。
これを行うためのよりpythonicな方法はありますか?私は PANDAS と NumPy も使用しているため、論理インデックスを使用したソリューションは受け入れられることに注意してください。