df :
address city
BlockOf13thSt Treasure Isla
Lincoln Presidio
Duboce Park Unknown
Twin Peaks Unknown
Bernal Heights NaN
Holly Courts Unknown
Ocean Beach NaN
Maiden Ln NaN
Avenue N NaN
output
address city
BlockOf13thSt Treasure Isla
Lincoln Presidio
Duboce Park San Francisco
Twin Peaks San Francisco
Bernal Heights San Francisco
Holly Courts San Francisco
Ocean Beach San Francisco
Maiden Ln New York
Avenue N New York
is there any syntax in pandas like SQL (IN)?? where address IN (Duboce Park, Twin Peaks, Bernal Heights, Holly Courts/Ocean Beach) and replacing/fillna for 'San Francisco' and 'New York'
thanks
import pandas as pd
#Replace all those localities with 'San Francisco'. For this we use .isin() function
df.loc[df['address'].isin(pd.Series(['Duboce Park','Twin Peaks','Bernal Heights','Holly Courts','Ocean Beach'])),'city']='San Francisco'
#Replace all NaNs with 'New York' with fillna().
df = df.fillna('New York')
df
Out[47]:
address city
0 BlockOf13thSt Treasure Isla
1 Lincoln Presidio
2 Duboce Park San Francisco
3 Twin Peaks San Francisco
4 Bernal Heights San Francisco
5 Holly Courts San Francisco
6 Ocean Beach San Francisco
7 Maiden Ln New York
8 Avenue N New York