como aplicar o teto aos pandas DateTime
Suponha que eu tenha um quadro de dados de pandas com uma coluna cujos valores sejamdatetime64[ns]
.
Out[204]:
0 2015-03-20 00:00:28
1 2015-03-20 00:01:44
2 2015-03-20 00:02:55
3 2015-03-20 00:03:39
4 2015-03-20 00:04:32
5 2015-03-20 00:05:52
6 2015-03-20 00:06:36
7 2015-03-20 00:07:44
8 2015-03-20 00:08:56
9 2015-03-20 00:09:47
Name: DateTime, dtype: datetime64[ns]
Existe alguma maneira fácil de convertê-los no minuto mais próximo depois do tempo? ou seja, quero o seguinte:
Out[204]:
0 2015-03-20 00:01:00
1 2015-03-20 00:02:00
2 2015-03-20 00:03:00
3 2015-03-20 00:04:00
,4 2015-03-20 00:05:00
5 2015-03-20 00:06:00
6 2015-03-20 00:07:00
7 2015-03-20 00:08:00
8 2015-03-20 00:09:00
9 2015-03-20 00:10:00
Name: DateTime, dtype: datetime64[ns]
Eu escrevi um código complicado que primeiro os converte em string e depois extrai as três partes de00:09:47
, converta-os em números inteiros e, a menos que a última parte (segundos) já esteja00
, Faço a última parte (segundos) a ser00
adiciona1
para a parte do meio (minutos), exceto se a parte do meio (minutos) já estiver59
nesse caso, ele adiciona à primeira parte (horas). Em seguida, recombine os novos números inteiros de volta para uma sequência e depois reconstrua novamente oDateTime
.
Mas eu estava pensando que talvez já exista uma solução mais simples. Alguém teria alguma sugestão?
* EDIT *
@ Jeff, @ unutbu, obrigado por suas respostas. Só posso selecionar uma resposta no SO, mas ambas funcionam.