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

Agrupamento por data no DataTime

Boa tarde! Preciso de ajuda em python, por favor

Tenho um data frame onde preciso agrupar a quantidade de tickets por dia. As datas estão no formato datetime64 (exemplo: 2021-01-03 03:22:51), porém ao rodar o código abaixo, está agrupando por data,minuto e segundo (o resultado fica com 1 ticket por linha, pois difícilmente teremos 2 tickets abertos exatamente no mesmo segundo).

Como faço para setar a quantidade de tickets por data, por favor?

Código:

df_teste = df_tickets.groupby(['date','number']).sum()
df_teste

resultado:

opened_at    number            
2021-01-03 03:22:51    INC1393XX9    0.0    0    0.0
2021-01-03 07:18:15    INC1394YY1    0.0    0    0.0
2021-01-03 07:50:44    INC1394DF5    0.0    0    0.0
2021-01-03 07:55:55    INC1394GV86    0.0    0    0.0
2021-01-03 08:10:39    INC1398H27    0.0    0    0.0

Precisaria de uma saída assim:

 Opened_at      | Number 
| 2021-01-03 | INC1393XX9 
                                | INC1394YY1
                                |INC1394DF5

PS: Minha ideia é plotar uma linechart mostrando a quantidade de incidentes por dia, ou mês, e utilizar o campo de hora posteriormente (então é importante não excluir a informação de hora).

Obrigada.

1 resposta
solução!

Olá Thais, tudo bem ? Espero que sim.

Para agrupar usando apenas a data você deve enviar no groupby apenas o valor dela. Para isso você pode acessar o valor da data, acessando a coluna date, depois o atributo dt e depois o atributo date, dessa maneira o Pandas vai entender que deve agrupar apenas por esse valor.

O código final fica assim:

df_teste = df_tickets.groupby([df_tickets.date.dt.date,'number']).sum()
df_teste

E o resultado assim:

datenumber
2021-01-03INC1393XX90
INC1394DF50
INC1394GV860
INC1394YY10
INC1398H270

Outro sugestão, para contar a quantidade de ticks é utilizar o count.

df_teste = df_tickets.groupby([df_tickets.date.dt.date]).count()
df_teste
datedatenumber
2021-01-0355

Espero ter ajudado e qualquer duvida não hesite em perguntar.

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