es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Reemplazar y reorganizar valor de cadena que contiene un patrón similar de palabras.

Estoy trabajando en Google Collaboratory y tengo un dataframe de pandas como el siguiente:

Nombre de la compañía      Dirección
Meditera, PT              Calle 1
Ocean express, PT         Calle 2

Quiero que quede así:

Nombre de la compañía      Dirección
PT Meditera               Calle 1
PT Ocean express          Calle 2

Actualmente lo hago utilizando df['Nombre de la compañía'].str.replace('Meditera, PT','PT Meditera'). Los datos crecen cada día y sería agotador reemplazar uno por uno. El patrón de los datos es el mismo, solo necesito reorganizar ‘, PT’ de detrás hacia el frente del nombre de la compañía.

¿Hay alguna sugerencia sobre cómo podemos hacer esto de manera más inteligente para que no tenga que usar str.replace() manualmente todos los días?

Gracias de antemano.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera más inteligente de hacer esto. Puedes usar la función de corte de cadenas de Python para lograrlo. Así es como puedes hacerlo:

    df['Nombre de la empresa'] = 'PT ' + df['Nombre de la empresa'].str.split(', ').str[0]
    

    Desglosándolo:

    • df['Nombre de la empresa'].str.split(', '): divide el nombre de la empresa por una coma y un espacio.
    • .str[0]: selecciona el primer elemento de las cadenas divididas resultantes (que es el nombre de la empresa sin ‘PT’).
    • 'PT ' + ...: concatena ‘PT ‘ al frente de cada cadena.

    Este código funcionará incluso si el nombre de la empresa no está siempre al comienzo de la cadena.

Comments are closed.