Dada una fecha en particular, es posible obtener el día de la semana en el que cae la fecha. Esto se logra con la ayuda de la biblioteca Pandas y el método to_datetime() presente en pandas.
En la mayoría de los conjuntos de datos, la columna Fecha parece ser del tipo de datos String , lo que definitivamente no es cómodo para realizar ningún cálculo con esa columna, como la diferencia de meses entre 2 fechas, la diferencia de tiempo o encontrar el día de la semana. Por lo tanto, Pandas proporciona un método llamado to_datetime() para convertir strings en objetos de marca de tiempo.
Ejemplos:
We'll use the date format 'dd/mm/yyyy' Input : '24/07/2020' Output : 'Friday' Input : '01/01/2001' Output : 'Monday'
Una vez que convertimos una fecha en formato de string en un objeto de fecha y hora, es fácil obtener el día de la semana usando el método day_name() en el objeto Timestamp creado.
Ejemplo 1: En este ejemplo, pasamos una fecha aleatoria con el tipo ‘str’ y el formato ‘dd/mm/yyyy’ al método to_datetime() . Como resultado obtenemos un objeto pandas de marca de tiempo. Luego recuperamos el día de la semana mediante el método day_name() de la clase Timestamp.
Python3
# importing the module import pandas as pd # the date in "dd/mm/yyyy" format date = "19/02/2022" print("Initially the type is : ", type(date)) # converting string to DateTime date = pd.to_datetime(date, format = "%d/%m/%Y") print("After conversion, the type is : ", type(date)) # fetching the day print("The day is : " + date.day_name())
Producción :
Ejemplo 2: en el siguiente ejemplo, las fechas de diferentes formatos se han convertido en un objeto de marca de tiempo y luego sus respectivos días de la semana se recuperan utilizando el método day_name().
Python3
# importing the module import pandas as pd # 'dd-mm-yyyy' date_1 = '22-07-2011' date_1 = pd.to_datetime(date_1, format ="%d-%m-%Y") print("The day on the date " + str(date_1) + " is : " + date_1.day_name()) # 'mm.dd.yyyy' date_2 = '12.03.2000' date_2 = pd.to_datetime(date_2, format ="%m.%d.%Y") print("The day on the date " + str(date_2) + " is : " + date_2.day_name()) # 'yyyy / dd / mm' date_3 = '2004/9/4' date_3 = pd.to_datetime(date_3, format ="%Y/%d/%m") print("The day on the date " + str(date_2) + " is : " + date_3.day_name())
Producción :