df1['city'] = df1['city'].map({'BJ':'北京','SH':'上海','CQ':'重庆'})
df1

df1['city'] = df1['city'].map({'BJ':'北京','SH':'上海','CQ':'重庆'})
df1

那是因为df1中城市名显示为NaN的那些城市不是字典中三个城市的缘故。
import pandas as pd
df=pd.DataFrame({'city':['YT','BJ','SH','CQ'],'number':[11002,32100,28600,22387]})
#print(df)
df['city'] = df['city'].map({'BJ': '北京', 'SH': '上海', 'CQ': '重庆'})
#print(df)
df
city number
0 NaN 11002
1 北京 32100
2 上海 28600
3 重庆 22387