Vamos ver como extrair a hora de um timestamp no Pandas, com a ajuda de vários exemplos.
Exemplo 1: pandas.timestamp.now()
leva o fuso horário como entrada e retorna o objeto timestamp atual desse fuso horário
# importa o módulo pandas import pandas as pd # timestamp corrente date = pd.Timestamp.now() print("Corrente Timestamp: ", date) # extrai as horas do timestamp frame = date.hour print("Hora: ", frame)
Resultado:
Corrente Timestamp: 2020-12-09 08:49:59.531299 Hora: 8
Exemplo 2: pandas.timestamp()
é usado por DateTimeIndex de um fuso horário específico. Pega ano, mês, dia, hora e fuso horário como entrada e retorna DateTimeIndex
desse fuso horário.
# importa o módulo pandas import pandas as pd # timestamp corrente date = pd.Timestamp(year=2020, month=7, day=21, hour=6, minute=30, second=44, tz='US/Pacific') print("Timestamp: ", date) # extrai a hora do timestamp print("Hour: ", date.hour)
Resultado:
Timestamp: 2020-07-21 06:30:44-07:00 Hour: 6
Exemplo 3: Pegue a entrada como um intervalo de timestamp
usando pandas.dt_range()
e pandas.series()
para converter em um array de timestamp
.
# importa o módulo pandas import pandas as pd # cria seis datas entre o periodo de seis horas dates = pd.Series(pd.date_range('2019-8-5 10:23:05', periods= 6, freq='H')) # converte num dicionário frame = pd.DataFrame(dict(givenDate=dates)) # extri horas do timestamp frame['hourOfTimestamp'] = frame['givenDate'].dt.hour print(frame)
Resultado:
givenDate hourOfTimestamp 0 2019-08-05 10:23:05 10 1 2019-08-05 11:23:05 11 2 2019-08-05 12:23:05 12 3 2019-08-05 13:23:05 13 4 2019-08-05 14:23:05 14 5 2019-08-05 15:23:05 15
Exemplo 4: Use o atributo object.hour
para retornar a hora da data e hora nos dados do objeto Series
fornecido.
# importa o módulo pandas import pandas as pd dates = pd.Series(['2015-01-11 09:20', '2019-4-8 11:31', '2018-12-22 10:10', '2011-4-2 04:25', '2017-1-6 03:51']) # atribui um nome as Series seriesName = ['T1', 'T2', 'T3', 'T4', 'T5'] # atribui um index para cada timestamp dates.index = seriesName dates = pd.to_datetime(dates) # extrai as horas dp Timestamp rs = dates.dt.hour print(rs)
Resultado:
T1 9 T2 11 T3 10 T4 4 T5 3 dtype: int64
Exemplo 5: Ler dados de um timespamp
de um arquivo csv e obter horas de cada timestamp
.
Você pode baixar o arquivo csv aqui.
# importa o módulo pandas import pandas as pd # lê os dados do arquivo datahora.csv frame = pd.read_csv(r'datahora.csv') print("Valores de datahora.csv: ") print(frame.head()) frame['DataHora'] = frame['DataHora'].astype('datetime64[ns]') # extrai horas de Timestamp print("Horas: ") # Acessa o conteúdo da coluna 'DataHora' # como um atributo do dataframe print(frame.DataHora.dt.hour.head())
Resultado:
Valores de datahora.csv: DataHora Cidade 0 2010-08-02 13:06:00 São Paulo 1 2020-07-11 21:50:43 Belo Horizonte 2 2010-09-12 22:58:00 Vitória 3 2019-11-03 03:00:29 Fortaleza 4 2009-01-12 09:54:09 Manaus Horas: 0 13 1 21 2 22 3 3 4 9 Name: DataHora, dtype: int64
Artigo escrito por tanvi_jain e traduzido por Acervo Lima de Get the Hour from timestamp in Pandas.
0 comentários:
Postar um comentário