我有兩個相同長度的列表,我可以將它們轉換爲數組以便與numpy.stats.pearsonr方法一起玩。現在,這些列表中的一些元素是nan
,因此不能用於該方法。在我的情況下,最好的辦法是刪除這些元素,以及另一個列表中的相應元素。有沒有一種實際的pythonic方法來做到這一點? 例如:我有在兩個相同長度的數組中刪除nan AND對應的元素
[1 2 nan 4 5 6 ]
和[1 nan 3 nan 5 6]
和到底我需要
[1 5 6 ]
[1 5 6 ]
(這裏的數量是代表性的位置/指數的,而不是我正在處理的實際數字)。編輯:這裏棘手的部分是在一個數組中有兩個不帶nan
的列表/數組,另一個對應於nan
s的元素,反之亦然。雖然它當然可以通過操作數組來完成,但我確信有一種明確的而不是過度複雜的方式來以pythonic的方式來完成它。
我想推薦的方法是使用numpy的布爾運算符:'numpy.logical_not'和'numpy.logical_and'以及'numpy.isnan'。 – Bort
清晰,簡單,很好的解釋。它的工作原理。謝謝! –
@Bort也許,但'isnan'已經返回布爾值,所以'〜'和'|'也可以。 –