Cho một mảng NumPy:Tìm chuyển False-Đúng trong một mảng NumPy
x = np.array([False, True, True, False, False, False, False, False, True, False])
Làm thế nào để tìm số lần các giá trị chuyển tiếp từ False True? Đối với ví dụ trên, câu trả lời là 2. I không muốn bao gồm chuyển tiếp từ True thành False trong số lượng.
Từ câu trả lời cho How do I identify sequences of values in a boolean array?, sau đây tạo ra các chỉ mục mà tại đó các giá trị sắp thay đổi, không phải là những gì tôi muốn vì điều này bao gồm chuyển tiếp Đúng-Sai.
np.argwhere(np.diff(x)).squeeze()
# [0 2 7 8]
Tôi biết rằng điều này có thể được thực hiện bằng cách lặp qua mảng, tuy nhiên tôi đã tự hỏi liệu có cách nào nhanh hơn để thực hiện việc này không?