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.

Python: ¿Cómo extraer la primera subcadena de una cadena con separador en otra columna?

Tengo un dataframe con una columna “CCR” cuyos valores son así:
“Aaaa;Bbbb;Cccc”, o “Bbbb;;Cccc”, o “Cccc;Bbbb;Aaaa”.
Me gustaría tomar solo la primera parte (antes de “;;”) y colocarla en otra columna “1st CCR”. No puedo hacer que funcione usando la función split. Con este código que intenté, no sucede nada.
¿Puedes ayudarme?

def get_1stCCR(row):
  for row in df['CCR']:
    df['1stCCR'] = row.split(";")[0]

df['CCR'].apply(get_1stCCR)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Hay un par de problemas con el código proporcionado. En primer lugar, la función get_1stCCR parece ser innecesaria ya que la división se puede hacer directamente en la función apply. En segundo lugar, el bucle dentro de la función no es necesario ya que apply ya itera sobre cada fila en la columna especificada.

    Una versión corregida del código se vería así:

    df['1st CCR'] = df['CCR'].apply(lambda x: x.split(';')[0])
    

    Explicación:

    La función apply aplica una función a cada fila de la columna especificada. Aquí, usamos una función lambda para dividir cada valor en la columna CCR por el delimitador ';' y luego devolver el primer elemento usando [0]. Este valor se asigna a una nueva columna llamada 1st CCR.

Comments are closed.