2016-07-29 1 views
0

У меня есть набор данных, где мне нужно заменить все значения na в данных Credit_History на «1.0», где бы ни было соответствующий Loan_status показывает «Y» и «0.0», где он «N» в Python. Я пробовал использовать If и else, но это не работает. Любая помощь в этом отношении будет оценена по достоинству. код, который я написал следующим образом:Замена всех значений Na переменной с помощью «Y» или «N» в зависимости от значения другого атрибута в dataframe

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

Можете ли вы показать код, который вы пробовали? Просить кого-то написать код для вас не является правильным вопросом в StackOverflow, но мы будем рады помочь вам отладить код, который вы пробовали. – jakerella

+0

Извинения забыл поделиться кодом для этого. Ниже приведен код, который я пробовал для этой проблемы: if df ['Credit_History'] == '' и df ['Loan_Status'] == 'Y': # df [ 'Credit_History'] == "1.0" #else: # df ['Credit_History'] == "0.0" ** Игнорировать '#' в коде – VaibhavK

+0

Спасибо! Можете ли вы изменить свой вопрос и поставить его там? Если вы используете четыре пробела перед строками кода, они будут выделены, и это означает, что люди могут читать код легче. – jakerella

ответ

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' 
Смежные вопросы