Python | Trabajando con fecha y hora usando Pandas

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *