[英]Pandas Comparison of NaN to nan
我在 Pandas 中有一個 Dataframe 有 A 列和 B 列(我使用的列更多)
A | B
--------
C6 A2
E9
F3
我正在根據另一個 dataframe 的一些給定值進行比較以查找單行(。(即df[(df.A == 'C6') & (df.B == 'A2')]
將返回第一個排。
在我不得不與 NaN 進行比較之前,這很有效。 我認為原因是因為np.nan == np.nan
返回False
。
有沒有一種簡單的方法可以修改我的代碼以比較字符串或 NaN 而不會使代碼復雜化?
編輯:好的,我認為我沒有很好地解釋這一點。 鑒於我上面的 dataframe.. 在同一公式中輸入“E9”或 nan,我希望它返回相應的行。
df[df.A == 'E9']
返回第二行,但df[df.A == np.nan]
返回空的 dataframe。
pd.isna()
只會在輸入為NaN
的情況下幫助我
嘗試匹配空字符串,因為np.nan == np.nan
返回false
。
df[(df.A == 'C6')]
df[df.A == ""]
df[df.B == ""]
Output:
A B
0 C6 A9
A B
2 F3
A B
1 E9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.