Eu gostaria de criar uma coluna em um quadro de dados do pandas que é uma representação inteira do número de dias em uma coluna timedelta. É possível usar 'datetime.days' ou preciso fazer algo mais manual?
coluna timedelta
7 dias, 23:29:00
coluna inteira de dia
7
timedelta.days
?Respostas:
Use o
dt.days
atributo. Acesse este atributo por meio de:Você também pode obter os atributos
seconds
emicroseconds
da mesma maneira.fonte
Você poderia fazer isso, onde
td
está sua série de timedeltas. A divisão converte os deltas de nanossegundos em deltas de dia e a conversão em int cai para dias inteiros.fonte
/
entretd
enp
?Objetos timedelta têm somente leitura atributos da instância
.days
,.seconds
e.microseconds
.fonte
Se a questão não for apenas "como acessar uma forma inteira do timedelta?" mas "como converter a coluna timedelta no dataframe para um int?" a resposta pode ser um pouco diferente. Além do
.dt.days
acessador, você precisadf.astype
oupd.to_numeric
Qualquer uma dessas opções deve ajudar:
ou
fonte
timedelta64[ns]
. Se suas datas forem NaN, primeiro converta-as em data e hora usando ato_datetime
função pandas e , em seguida, use a segunda opção acima. Para mais detalhes, checkout to_datetime