Tengo un marco de datos de pandas con diferentes caracteres de fila en la columna x, y quiero agregar estos caracteres al frente de cada elemento en la lista correspondiente de la fila.
Aquí están mis pandas df:
df_1 = pd.DataFrame({'x' : ['a', 'b', 'c'], 'y' : [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]})
x y
a [1,2,3,4]
b [5,6,7,8]
c [9,10,11,12]
Así es como me gustaría que se viera la salida esperada:
x y
a [a 1,a 2,a 3,a 4]
b [b 5,b 6,b 7,b 8]
c [c 9,c 10,c 11,c 12]
¿Cómo recorro el marco de datos y agrego el carácter en la columna x al frente de cada elemento en la lista correspondiente en la columna y?
¡Gracias!
Tratar:
df['y'] = df.explode('y') \
.apply(lambda r: f"{r['x']} {r['y']}", axis=1) \
.groupby(level=0) \
.apply(list)
Producción:
>>> df
x y
0 a [a 1, a 2, a 3, a 4]
1 b [b 5, b 6, b 7, b 8]
2 c [c 9, c 10, c 11, c 12]
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
Déjame decir algunas palabras