用' Y'替换变量的所有Na值。或者' N'取决于数据框中的某些其他属性的值

时间:2016-07-29 17:27:57

标签: python-3.x pandas dataframe

我有一个数据集,我需要将Credit_History数据中的所有na值替换为' 1.0'只要相应的Loan_status显示“Y'和' 0.0'无论它在哪里' N'在Python中。 我尝试过使用If和else,但似乎没有用。 在这方面的任何帮助将不胜感激。 我写的代码如下:

if df['Credit_History'] == '' and df['Loan_Status'] =='Y':
    df['Credit_History'] == "1.0"
else:
    df['Credit_History'] =="0.0"

1 个答案:

答案 0 :(得分:0)

credit_na_mask = df['Credit_History'] == ''
loan_status_mask = df['Loan_Status'] == 'Y'

df.loc[credit_na_mask & loan_status_mask, 'Credit_History'] = '1.0'
df.loc[credit_na_mask & ~loan_status_mask, 'Credit_History'] = '0.0'