как создать дни из временной дельты

Я получаю сообщение об ошибке при попытке преобразовать столбец дельты времени в строку, содержащую число od fays.

from datetime import datetime

d = {'col1':[datetime.strptime('2020-1-1', '%Y-%m-%d'),datetime.strptime('2020-1-2', '%Y-%m-%d')],
     'col2':[datetime.strptime('2020-1-5', '%Y-%m-%d'),datetime.strptime('2020-1-10', '%Y-%m-%d')]}


d = pd.DataFrame(d)

d['days']=d['col2']-d['col1']

df

Этот код работает с этим примером, но не работает с моей реальной проблемой, выдавая следующую ошибку:

AttributeError: объект «int» не имеет атрибута «дни»

days_number = []

for i in range(len(d)):
    aux = df['days'][i].days
    days_number.append(aux)

   
df['days']=days_number

Он также отлично работает с этой лямбда-функцией в моем примере, но не в моей реальной проблеме.

df['days'] = df['days'].apply(lambda x: x.days)

Тип объекта в примере и реальной задаче совпадают

type(df['days'])
type(df['days'][1])

это типы моего реального примера:
pandas.core.series.Series
pandas._libs.tslibs.timedeltas.Timedelta

Извините, я не могу воспроизвести реальный пример, в котором я получаю ошибку, но, возможно, кто-то знает, почему эта ошибка происходит.

Ценить


person lucas    schedule 08.07.2020    source источник
comment
Используйте 1_   -  person jezrael    schedule 08.07.2020
comment
также может быть проще использовать pd.to_datetime, например. как pd.to_datetime(['2020-1-1', '2020-1-2'])   -  person MrFuppes    schedule 08.07.2020