göre benbölme numpy dizi bool
a = np.array[ 4, 9, 3, 1, 6, 4, 7, 4, 2]
gibi bir dizi ve
boo = np.array[ True, True, False, False, True, True, True, False, True]
gibi aynı büyüklükte bir Boole dizisi (böylece olan bir maske) (boo
başlatabilir False
ile ilk girişte ...)
Şimdi bölmek istiyorum 012 Yeni diziler içine2 ile koşulları:
- yeni bir alt dizisi
boo
- yeni bir alt dizisi bir
False
sonra hep başlar veFalse
önce biter deTrue
tek değerleri içerir. Ben temel olaraknp.split
kullanabileceğinizi biliyor
:
Yani sonuç[[4, 9], [6, 4, 7], [2]]
Benim fikir olurdu.
Bu durumda b = np.split(a, [2, 4, 7, 8]
olur ve daha sonra b
dan sadece ikinci ikinci öğeyi alırdım, ilk öğeden başlayarak boo
ilk öğemim True
olur.
Sorunum: [2, 4, 7, 8]
dizisini nasıl alabilirim?
(. Çok yavaş çünkü piton ile döngü, bir seçenek değildir)