pandas.to_numeric
df['colname'] = pd.to_numeric(df['colname'], errors='coerce')
Это даст np.nan
для любой вещи, которую он не может преобразовать в число. После этого вы можете заполнить любое значение с помощью fillna
df['colname'] = df['colname'].fillna(0)
Все за один раз
df['colname'] = pd.to_numeric(df['colname'], errors='coerce').fillna(0)