我試圖填充數據框用下面的代碼:numpy的NaN的格式不被認爲是空
df = pd.DataFrame(data=np.random.choice([1, np.nan], size=5))
0 1
1 1
2 NaN
3 1
4 1
然後:
df[df[0].isnull()]
2 NaN
到目前爲止,一切都很好。但是如果我將1修改爲'1',那麼情況會變得很奇怪(imo)。
df = pd.DataFrame(data=np.random.choice(['1', np.nan], size=5))
0 1
1 1
2 1
3 1
4 nan
問題都與ISNULL
df[df[0].isnull()]
Empty DataFrame
Columns: [0]
Index: []
我怎樣才能獲得楠(這是一個字符串)表現得像喃? 我希望能夠快速過濾我的數據框中的所有空值/非空值。
謝謝。
這裏的問題是,'NaN'被轉換成''str' nan'這是令人驚訝AFAIK真正'NaN'需要'float''dtype',在這種情況下,您必須與str'nan'進行比較,這很奇怪IMO – EdChum
謝謝。目前我正在將'str'' nan'轉換回「normal」'NaN'。 – Extratoro
我有點覺得這是一個錯誤,雖然我不會期望'南'當我明確通過'NaN' – EdChum