Home > Mobile >  remove from , and transfer to next cell in pandas
remove from , and transfer to next cell in pandas

Time:09-13

remove from , and transfer to next cell in pandas for eg,

city country
Toronto,Canada N/A

output:

city country
Toronto,Canada Canada

CodePudding user response:

If need replace missing value in country column by last value after split city by , use:

df['country'] = df['country'].fillna(df['city'].str.split(',').str[-1])

Or if need assign all column in country column:

df['country'] = df['city'].str.split(',').str[-1]

CodePudding user response:

You can use str.extract with a word regex \w anchored to the end of the string ($) to get the last word:

# replacing all values
df['country'] = df['city'].str.extract('(\w )$', expand=False)

# only updating NaNs
df.loc[df['country'].isna(), 'country'] = df['city'].str.extract('(\w )$', expand=False)

output:

             city country
0  Toronto,Canada  Canada

Alternatively, you can use the ([^,] )$ regex that is more permissive (any terminal character except ,)

  • Related