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)
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ónapply
. En segundo lugar, el bucle dentro de la función no es necesario ya queapply
ya itera sobre cada fila en la columna especificada.Una versión corregida del código se vería así:
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 columnaCCR
por el delimitador';'
y luego devolver el primer elemento usando[0]
. Este valor se asigna a una nueva columna llamada1st CCR
.