Dividir elementos enésimos en una cadena en un marco de datos de pandas

KLM117

actualmente tengo una columna en un marco de datos de pandas. dfque se parece a esto:

leer_nombre
NB511043:297:HJJMHBGXJ:1:22110:22730:3876
NB511043:297:HJJMHBGXJ:4:22609:8139:4265
NB511043:298:HT6KCBGXJ:1:13311:16766:2025

Lo que espero hacer es extraer específicamente los elementos 5 y 7 de cada cadena en este df y agregarlos al final del mismo marco de datos, así:

valor 5to elemento 7mo elemento
NB511043:297:HJJMHBGXJ:1:22110:22730:3876 22110 3876
NB511043:297:HJJMHBGXJ:4:22609:8139:4265 22609 4265
NB511043:298:HT6KCBGXJ:1:13311:16766:2025 13311 2025

mi método actual es crear un marco de datos completamente nuevo usando str.splitpara dividir todo en read_name, y luego simplemente agregar estos valores al nuevo marco de datos. Al igual que

df_read_name= df['read_name'].str.split(":", n = 6, expand = True)
df['5th element']= pd.to_numeric(df_read_name[4])
df['7th element']= pd.to_numeric(df_read_name[6])

Sin embargo, creo que esto es un poco engorroso y esperaba que pudiera haber un enfoque más rápido.

¡Como siempre, cualquier ayuda se agradece!

Bosquecillo

Puedes usar .str.splitcon expand=True:

df[["5th element", "7th element"]] = df["read_name"].str.split(":", expand=True)[[4, 6]].astype(int)

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Dividir una columna de cadena de marco de datos en varias columnas sin un patrón

Cómo dividir dos columnas por elementos en un marco de datos de pandas

Leer elementos de la lista como una cadena en pandas de marco de datos

¿Cómo dividir una fila por una longitud de cadena específica en un marco de datos en Python?

Organizar un marco de datos: dividir una columna en tres

Organizar un marco de datos: dividir una columna en tres

Reemplazar una cadena en una columna para cada fila de un marco de datos de pandas

Reemplazar una cadena en una columna para cada fila de un marco de datos de pandas

¿Cómo extraer correctamente una subcadena de una cadena en un marco de datos de Pandas?

diferencia condicional, dividir en una misma columna de un marco de datos pandas

Extraiga elementos de una lista en un marco de datos basado en una cadena de expresiones regulares

¿Cómo dividir datos en una celda de marco de datos y realizar un grupo de Pandas en divisiones?

Reemplazo de cierta parte de una cadena en un marco de datos de Pandas con Regex

¿Cómo dividir una cadena en letras mayúsculas de una columna de marco de datos?

Convierta una cadena de diferentes elementos en el marco de datos de pandas con recuentos en recuento categórico

Pandas: busque y reemplace una cadena en todas las columnas en un marco de datos

¿Cómo divido una cadena en varias columnas en un marco de datos con pandas Python?

Dividir marco de datos basado en elementos de lista en una columna

Dividir marco de datos basado en elementos de lista en una columna

Cómo dividir una cadena en dos cadenas según el delimitador en un marco de datos

Cómo dividir una cadena en dos cadenas según el delimitador en un marco de datos

Pandas: escribir valores de cadena en un marco de datos

Python: cortar cadena en un marco de datos de Pandas

¿Cómo dividir un marco de datos cada vez que cambia un valor de cadena en una columna?

¿Cómo dividir un marco de datos cada vez que cambia un valor de cadena en una columna?

Crear un marco de datos de pandas a partir de una cadena (en formato csv)

Reemplazar todas las apariciones de una cadena en un marco de datos de pandas (Python)

¿Cómo convertir un marco de datos de pandas en una cadena de bytes?

Eliminando pentatletas y dígitos de una cadena en un marco de datos de pandas