Visual Basic - Ordenar por uno valores especificos

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 81 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ordenar por uno valores especificos

Publicado por Santi (1 intervención) el 14/05/2021 09:39:41
hola, buenas, alguien puede ayudarme con un trabajo que estoy haciendo,
tengo un dataframe con una columna (A) con valores str como :
'1 meses', '2 meses', '13-16 meses', '+ 24 meses', '20-21 meses' ...
y otra columna con valores numericos (B)
y tengo que ordenar las filas usando esas dos columnas por o que utilizo:

1
df.sort_values(['A', 'B'])

mi problema es que los meses se me ordenan asi:
+24 meses, 1 meses, 13- , 2, 20-, 3,.....

Alguien sabe como se podria poner para que fuera:
1, 2, 3, ...., 13-, 20-, +24

Muchas gracias
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

Ordenar por uno valores especificos

Publicado por jorge rojas (1 intervención) el 27/05/2021 03:41:24
La funcion sort es muy limitada. Pienso que es mejor hacerlo con código.
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
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ordenar por uno valores especificos

Publicado por Antoni Masana (557 intervenciones) el 28/05/2021 17:41:05
Te ordena así: +24 meses, 1 meses, 13- , 2, 20-, 3,..... por qué esta ordenando texto y no números, el 20 va antes que el 3 porque compara caracter a caracter y el 2 va antes que el 3.

Para que ordene con criterio numérico debes crear una columna oculta con los números como tales para ordenar o como dice jorge rojas echar mano de las macros.

Saludos.
\\//_
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