Contenido de este artículo
- 0
- 0
- 0
- 0
A menudo, es posible que desee ordenar un DataFrame de pandas por una columna que contenga fechas. Afortunadamente, esto es fácil de hacer usando la función sort_values () .
Este tutorial muestra varios ejemplos de cómo utilizar esta función en la práctica.
Ejemplo 1: Ordenar por columna de fecha
Supongamos que tenemos el siguiente DataFrame de pandas:
importar pandas como pd #create DataFrame df = pd.DataFrame ({'ventas': [4, 11, 13, 9], 'clientes': [2, 6, 9, 7], 'fecha': ['2020-01-25', '2020-01-18', '2020-01-22', '2020-01-21']}) #view Impresión de DataFrame (df) fecha de clientes de ventas 0 4 2 2020-01-25 1 11 6 2020-01-18 2 13 9 2020-01-22 3 9 7 2020-01-21
Primero, necesitamos usar la función to_datetime () para convertir la columna ‘fecha’ en un objeto de fecha y hora:
df [' fecha '] = pd. to_datetime (df [' fecha '])
A continuación, podemos ordenar el DataFrame según la columna ‘fecha’ usando la función sort_values () :
df. sort_values (por = ' fecha ') fecha de clientes de ventas 1 11 6 2020-01-18 3 9 7 2020-01-21 2 13 9 2020-01-22 0 4 2 2020-01-25
De forma predeterminada, esta función ordena las fechas en orden ascendente. Sin embargo, puede especificar ascendente = Falso para ordenar en orden descendente:
df. sort_values (por = ' fecha ', ascendente = Falso ) fecha de clientes de ventas 0 4 2 2020-01-25 2 13 9 2020-01-22 3 9 7 2020-01-21 1 11 6 2020-01-18
Ejemplo 2: ordenar por varias columnas de fecha
Supongamos que tenemos el siguiente DataFrame de pandas:
importar pandas como pd #create DataFrame df = pd.DataFrame ({'persona': ['A', 'B', 'C', 'D'], 'order_date': ['2020-01-15', '2020-01-15', '2020-01-20', '2020-01-20'], 'fecha_recibida': ['2020-01-25', '2020-01-18', '2020-01-22', '2020-01-21']}) #view Impresión de DataFrame (df) persona orden_fecha_recibir_fecha 0 A 2020-01-15 2020-01-25 1 B 2020-01-15 2020-01-18 2 C 2020-01-20 2020-01-22 3 D 2020-01-20 2020-01-21
Podemos usar la función sort_values para ordenar el DataFrame por múltiples columnas simplemente proporcionando múltiples nombres de columna a la función:
#convertir ambas columnas de fecha en objetos de fecha y hora df [['order_date', 'receive_date']] = df [['order_date', 'receive_date']]. aplicar (pd. to_datetime ) #ordenar DateFrame por order_date, luego por Receive_date df. sort_values (por = ['order_date', 'receive_date']) persona orden_fecha_recibir_fecha 1 B 2020-01-15 2020-01-18 0 A 2020-01-15 2020-01-25 3 D 2020-01-20 2020-01-21 2 C 2020-01-20 2020-01-22
El DataFrame ahora se clasifica en orden ascendente por order_date, luego en orden ascendente por Receive_date.
Recursos adicionales
Cómo filtrar filas de marcos de datos de Pandas por fecha
Cómo convertir fecha y hora en fecha en Pandas
Cómo convertir columnas a fecha y hora en Pandas
Cómo ordenar por índice y columna en Pandas
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: