I have the following DataFrame in pandas:
code | city | district |
---|---|---|
01 | London | Westminster |
03 | Madrid | NaN |
04 | Rome | Trevi |
07 | Berlin | NaN |
08 | Barcelona | Badalona |
For the district
column if the row value is nan, I want to assign it the same value it has in its city
attribute. Example:
code | city | district |
---|---|---|
01 | London | Westminster |
03 | Madrid | Madrid |
04 | Rome | Trevi |
07 | Berlin | Berlin |
08 | Barcelona | Badalona |
CodePudding user response:
You should be able to use fillna()
and pass the other column name:
df['district'] = df['district'].fillna(df['city'])
If the value is not Null (which I suggest to have it Null for best practices) but an empty string, you can evaluate a condition, so that:
df['district'] = np.where(df['district'] == '',df['city'],df['district'])