reemplazar parte de la cadena en el dataframe pandas

Tengo un dataframe de pandas en el que necesito reemplazar una parte del valle con otro valor

por ejemplo. yo tengo

HF - Antartica HF - America HF - Asia 

fuera de lo cual me gustaría reemplazar ony el HF - parte por lo que el resultado sería

 Hi Funny Antartica Hi Funny America Hi Funny Asia 

He intentado pd.replace () pero no funciona, ya que solo necesito una parte de la cadena reemplazada, en lugar de la cadena completa

Parece que necesitas Series.replace :

 print (df) val 0 HF - Antartica 1 HF - America 2 HF - Asia print (df.val.replace({'HF -':'Hi'}, regex=True)) 0 Hi Antartica 1 Hi America 2 Hi Asia Name: val, dtype: object 

Solución similar con str.replace :

 print (df.val.str.replace('HF -', 'Hi')) 0 Hi Antartica 1 Hi America 2 Hi Asia Name: val, dtype: object 

Para agregar a la respuesta de @jezrael, debe incluir regex=True contrario coincidiría directamente. Además, aquí reemplaza los valores de todas las columnas en el dataframe. Si no pretende esto, puede filtrar a una columna y luego reemplazar. Para reemplazar todos los valores en el dataframe, intente:

df.replace('HF', 'Hi Funny', regex=True)

También puede proporcionar una lista basada en patrones y valores de reemplazo. El conjunto completo de opciones se proporciona en la documentación aquí .

Así que si el dataframe es:

 >df = pd.DataFrame({'Column': ['HF - Antartica', 'HF - America', 'HF - Asia']}) >df.replace('HF', 'Hi Funny', regex=True) 

debe imprimir:

  Column 0 Hi Funny - Antartica 1 Hi Funny - America 2 Hi Funny - Asia 

Me gustaría compartir una cosa más que es muy importante, puede reemplazar el espacio completo con espacio “.” Con “.” parada completa normal

 df['label']=df.label.replace({"\. ": "."},regex=True)