Reemplazo del dataframe de Pandas con expresiones regulares no funciona

Tengo dataframe con muchas filas. Quiero usar pd.replace para reemplazar valores en columnas enteras.

import pandas as pd import re list = ['MD 15241', 'MD', 'TD', 'TD 15487'] a = pd.DataFrame(list) b = a.copy() b.replace(r'[AZ]{2}', 'USA', inplace = True) b 

salida

  0 0 MD 15241 1 MD 2 TD 3 TD 15487 

Intenté r’MD ‘o r’TD’, funciona.

Necesita regex=True en el método de replace :

 b.replace(r'[AZ]{2}', 'USA', inplace=True, regex=True) b #0 #0 USA 15241 #1 USA #2 USA #3 USA 15487 
 def replace_string_inside_df(df): df.replace(r'[^a-zA-Z0-9]', ' ', inplace=True, regex=True) return df print(replace_string_inside_df(df))