Tôi có một mảng có hai cột có dạng khối. Ví dụ:loại bỏ các cặp phần tử khỏi mảng có khối u là NaN (hoặc một giá trị khác) trong Python
a = array([[1, 5, nan, 6],
[10, 6, 6, nan]])
a = transpose(a)
Tôi muốn lặp một cách hiệu quả thông qua hai cột, một [:, 0] và [:, 1] và loại bỏ bất kỳ cặp đáp ứng một điều kiện nhất định, trong trường hợp này nếu họ là NaN . Cách rõ ràng tôi có thể nghĩ đến là:
new_a = []
for val1, val2 in a:
if val2 == nan or val2 == nan:
new_a.append([val1, val2])
Nhưng điều đó có vẻ khó khăn. Phương pháp numpy pythonic của việc này là gì?
cảm ơn.
+1: Giải thích rõ ràng và hữu ích, và tôi thích ~ np.isnan vì nó mô tả những gì bạn đang làm. – tom10
Thật là một câu trả lời hay – Tjorriemorrie