Python 复制列时出现意外行为

Python 复制列时出现意外行为,python,pandas,Python,Pandas,我有一个数据帧(df),有几个列,其中一个是loan_status。该栏的分项数字如下: Charged Off 38029 Current 520784 Default 199 Does not meet th

我有一个数据帧(df),有几个列,其中一个是loan_status。该栏的分项数字如下:

Charged Off                                              38029
Current                                                 520784
Default                                                    199
Does not meet the credit policy.  Status:Charged Off       758
Does not meet the credit policy.  Status:Current            15
Does not meet the credit policy.  Status:Fully Paid       1947
Fully Paid                                              176203
In Grace Period                                           6486
Issued                                                     142
Late (16-30 days)                                         2337
Late (31-120 days)                                        9949
我想制作一个新的专栏,将每个条目分类为信誉良好或信誉不佳的贷款,这样做。我做了以下工作:

df["badloan"] = df.loan_status
df.loc[(df.badloan == "Charged Off") | 
       (df.badloan == "Default") |      
       (df.badloan =="Does not meet the credit policy.  Status:Charged Off"),
       df.badloan] = "Bad"
这给了我以下错误:

ValueError:无法使用包含NA/NaN值的向量进行索引

这让我意识到数据中一定有一些nan值,出于好奇,我运行了:

df["badloan"] == df.loan_status
这导致大多数值为真,但有一些值为假。然后我尝试重新定义df.badloan,以防我意外修改它:

df["badloan"] = df.loan_status
df["badloan"] == df.loan_status

这仍然产生了一些错误的值。你知道为什么吗?

你有没有检查过你的专栏中是否有N?尝试
np.isnan(df.loan\u status).any()
。nan==nan是假的,这可以解释这种行为。正是问题所在,没有意识到nan=楠。非常感谢。你能发布你的假值吗?所有的假值都是nan==nan的结果