Al trabajar con datos, es muy habitual encontrar datos de series temporales. Pandas es una herramienta muy útil cuando se trabaja con datos de series temporales.
Pandas proporciona un conjunto diferente de herramientas con las que podemos realizar todas las tareas necesarias en los datos de fecha y hora. Tratemos de entender con los ejemplos que se comentan a continuación.
Código n.º 1: crear un marco de datos de fechas
Python3
import pandas as pd # Create dates dataframe with frequency data = pd.date_range('1/1/2011', periods = 10, freq ='H') data
Producción:
Código #2: Crear rango de fechas y mostrar características básicas
Python3
# Create date and time with dataframe data = pd.date_range('1/1/2011', periods = 10, freq ='H') x = pd.datetime.now() x.month, x.year
Producción:
(9, 2018)
Las funciones de fecha y hora se pueden dividir en dos categorías. El primero momentos de un tiempo en un período y el segundo el tiempo transcurrido desde un período en particular. Estas características pueden ser muy útiles para comprender los patrones en los datos.
Divide una fecha dada en características:
pandas.Series.dt.year devuelve el año de la fecha y hora.
pandas.Series.dt.month devuelve el mes de la fecha y hora.
pandas.Series.dt.day devuelve el día de la fecha y hora.
pandas.Series.dt.hour devuelve la hora de la fecha y hora.
pandas.Series.dt.minute devuelve el minuto de la fecha y hora.
Consulte todas las propiedades de fecha y hora desde aquí .
Código n.º 3: divide la fecha y la hora en funciones separadas
Python3
# Create date and time with dataframe rng = pd.DataFrame() rng['date'] = pd.date_range('1/1/2011', periods = 72, freq ='H') # Print the dates in dd-mm-yy format rng[:5] # Create features for year, month, day, hour, and minute rng['year'] = rng['date'].dt.year rng['month'] = rng['date'].dt.month rng['day'] = rng['date'].dt.day rng['hour'] = rng['date'].dt.hour rng['minute'] = rng['date'].dt.minute # Print the dates divided into features rng.head(3)
Producción:
Código n.º 4: para obtener la hora actual, use Timestamp.now() y luego convierta la marca de tiempo en fecha y hora y acceda directamente al año, mes o día.
Python3
# Input present datetime using Timestamp t = pandas.tslib.Timestamp.now() t
Timestamp('2018-09-18 17:18:49.101496')
Python3
# Convert timestamp to datetime t.to_datetime()
datetime.datetime(2018, 9, 18, 17, 18, 49, 101496)
Python3
# Directly access and print the features t.year t.month t.day t.hour t.minute t.second
2018 8 25 15 53
Analicemos este problema en un conjunto de datos real uforeports.
Python3
import pandas as pd url = 'http://bit.ly/uforeports' # read csv file df = pd.read_csv(url) df.head()
Producción:
Python3
# Convert the Time column to datetime format df['Time'] = pd.to_datetime(df.Time) df.head()
Python3
# shows the type of each column data df.dtypes
City object Colors Reported object Shape Reported object State object Time datetime64[ns] dtype: object
Python3
# Get hour detail from time data df.Time.dt.hour.head()
0 22 1 20 2 14 3 13 4 19 Name: Time, dtype: int64
Python3
# Get name of each date df.Time.dt.weekday_name.head()
0 Sunday 1 Monday 2 Sunday 3 Monday 4 Tuesday Name: Time, dtype: object
Python3
# Get ordinal day of the year df.Time.dt.dayofyear.head()
0 152 1 181 2 46 3 152 4 108 Name: Time, dtype: int64
Publicación traducida automáticamente
Artículo escrito por aakarsha_chugh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA