Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dividir valores de uma coluna em diversas outras colunas

Salve, Seguinte eu estou com um dataframe aqui, só que as informações de tempo dele estão todas juntas em uma coluna só (exemplo: "2000-01-01 00:00:00") e eu precisava dividir cada informação dessa em uma coluna, só que eu não tenho ideia de como fazer isso, alguem poderia me ajudar? pfv!Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá, Allan! Tudo bem com você?

Segue abaixo de como fazer isso:

Primeiro vamos criar um Datarame para simular o que você mandou:

import pandas as pd
import numpy as np

# Criação do intervalo de tempo a ser utilizado na coluna 'tempo'
rng = pd.date_range('2000-01-01', periods=100, freq='H')

# Criação do DataFrame com as colunas 'tempo' e 'demanda_hora'
df = pd.DataFrame({'tempo': rng, 'demanda_hora': np.random.randint(30000, 50000, size=(100))})

df.head()

Saída:

tempodemanda_hora
02000-01-01 00:00:0042054
12000-01-01 01:00:0043741
22000-01-01 02:00:0035323
32000-01-01 03:00:0043171
42000-01-01 04:00:0047266

Vamos criar agora cada coluna com as informações que temos na coluna tempo:

df['ano'] = df['tempo'].dt.year
df['mes'] = df['tempo'].dt.month
df['dia'] = df['tempo'].dt.day
df['hora'] = df['tempo'].dt.hour

Saída:

tempodemanda_horaanomesdiahora
02000-01-01 00:00:00401622000110
12000-01-01 01:00:00477732000111
22000-01-01 02:00:00346772000112
32000-01-01 03:00:00441712000113
42000-01-01 04:00:00352712000114

No código acima cada uma dessas colunas corresponde a uma unidade de tempo diferente (ano, mês, dia e hora) e é criada utilizando o método "dt" do Pandas.

O método "dt" permite acessar as propriedades de data/hora de uma coluna de data/hora. No código, é utilizado o método "dt.year" para obter o ano correspondente à coluna "tempo", "dt.month" para obter o mês, "dt.day" para obter o dia e "dt.hour" para obter a hora.

Em seguida, esses valores são atribuídos a novas colunas criadas no DataFrame utilizando a sintaxe "df['nome_da_coluna'] = valores". Com isso, o DataFrame é expandido para incluir as novas colunas correspondentes às unidades de tempo especificadas.

Qualquer dúdiva estou à disposição.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!