Python - cambiar varios caracteres

 
Vista:
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

cambiar varios caracteres

Publicado por Marta (30 intervenciones) el 24/11/2019 01:45:43
Hola, me gustaria saber como reemplazar datos y meterlos en otra columna, por ejemplo
tengo:



1
2
3
4
5
d = {'Genero': ['F','F','F','F','M'],
     'Edad': ['0-17','45','18-24','0-17','+55'],
     'Codigo': [80, 12, 112, 10, 8]}
df = pd.DataFrame(data=d)
df


quiero cambiar estos datos de la columna edad
lo que tengo--->lo que quiero tener
0-17--->17
18-24---18
resto---+30

podria hacer


1
df.replace({"0-17": 17,"18-24": 18, "45": "+30","60":"+30","+55":"+30"})

pero
1) se me reemplaza en la misma columna, me gustaria q se añadiese en una nueva columna
2) como lo haria para no ir de uno en uno? me refiero, en vez de hacer

45": "+30","60":"+30","+55":"+30"

hacer algo como (45,+55,60)--> +30
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 388
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

cambiar varios caracteres

Publicado por Daniel (111 intervenciones) el 24/11/2019 14:02:31
Hola,

Lo único que se me ocurre es hacerlo en dos pasos: primero copiar la columnas y luego utilizar una función Lambda para hacer el cambio con menos comparaciones.

1
2
3
4
5
6
7
8
9
10
11
d = {'Genero': ['F','F','F','F','M'],
     'Edad': ['0-17','45','18-24','0-17','+55'],
     'Codigo': [80, 12, 112, 10, 8]}
df = pd.DataFrame(data=d)
 
# Primero copia la columna en una nueva
df['Edad2'] = df['Edad']
 
# Aplica una función Lambda sobre la nueva columan
df['Edad2'] = df['Edad2'].apply(lambda x: '17' if x == '0-17' else '18' if x == '18-14' else '+30')
df

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

cambiar varios caracteres

Publicado por Marta (30 intervenciones) el 24/11/2019 18:13:56
ok. muchas gracias.

a ver si tengo tiempo y me miro la web. Parece muy interesante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar