#python #jupyter-notebook
#python #jupyter-notebook
Вопрос:
Цель: вычислить дни между обоими днями
Value int64
Date int64
Month int64
Year int64
Day int64
LocationID int32
CategoryID int32
Не удалось запустить l_date
def my_function(train):
train['f_date'] = date(2016, 1, 1)
train['l_date'] = date(train['Year'], train['Month'], train['Date'])
train['date_block'] = train['l_date']-train['f_date']
return train
Обновление ** (Дата 1-31 к вашему сведению)
def my_function(train):
train['f_date'] = date(2016,1,1)
train["l_date"] = pd.to_datetime({'year': train['Year'],
'month': train['Month'],
'day': train['Date']})
train['date_block'] = train['l_date']-train['f_date']
return train
Новая ошибка
Ошибка типа: неподдерживаемые типы операндов для -: ‘DatetimeIndex’ и ‘datetime.date’
Комментарии:
1. Вы импортируете datetime из datetime в свой скрипт?
2.
train['Year']
вернет ряд, не совпадающий сint
и дляtrain['Month']
иtrain['Date']
3. Я уже включил данные из даты импорта datetime
4. как мне исправить эту строку, чтобы возвращать ряд, не являющийся int train[‘l_date’] = date (поезд [‘Год’], поезд [‘Месяц’], поезд [‘Дата’])
Ответ №1:
Вы должны использовать pd.to_datetime. Строка
train['l_date'] = date(train['Year'], train['Month'], train['Date'])
должно быть исправлено как
train["l_date"] = pd.to_datetime(train[['Year','Month','Day']])
Я думаю, что вы также вводите неправильный день с датой.
Проблема в том, что datetime.date требует целых чисел, но df[«colname»] возвращает ряд. pd.to_datetime может использоваться для работы с рядами и фреймами данных.
Комментарии:
1. Ошибка типа: неподдерживаемые типы операндов для -: ‘DatetimeIndex’ и ‘datetime.date’
2. Ошибка произошла в
train['date_block'] = train['l_date']-train['f_date']
связано ли это сtrain['f_date'] = date(2016,1,1)
3. Вы могли бы преобразовать train[‘f_date’] следующим образом:
train['date_block'] = train['l_date']-pd.to_datetime(train['f_date'])
.
Ответ №2:
def my_function(train):
train['f_date'] = datetime(2016, 1, 1)
train["l_date"] = pd.to_datetime({'year': train['Year'],
'month': train['Month'],
'day': train['Date']})
train['date_block'] = train['l_date']-train['f_date']
return train