Я получаю сообщение об ошибке при попытке преобразовать столбец дельты времени в строку, содержащую число 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
Извините, я не могу воспроизвести реальный пример, в котором я получаю ошибку, но, возможно, кто-то знает, почему эта ошибка происходит.
Ценить
pd.to_datetime
, например. какpd.to_datetime(['2020-1-1', '2020-1-2'])
- person MrFuppes   schedule 08.07.2020