Из предыдущего вопроса, используя replace
, о том, почему он работает, вы можете проверить ссылку
s=df.Borough.replace(dict(zip(l,[1,2,3,4,5])),regex=True)
pd.to_numeric(s,errors = 'coerce').fillna(0).astype(int)
Out[44]:
0 3
1 5 # notice here still change to 5
2 1
3 2
4 0
Name: Borough, dtype: int32
Ввод данных
df = pd.DataFrame({
'Borough': ['QUEENS', 'BRONX 777', 'MANHATTAN', 'BROOKLYN', 'INVALID']})
l = ['MANHATTAN', 'BROOKLYN', 'QUEENS', 'STATEN ISLAND','BRONX']