簡體   English   中英

Pandas NaN 與 nan 的比較

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM