Python TypeError:无法将序列转换为<;类别';int'&燃气轮机;日期函数

Python TypeError:无法将序列转换为<;类别';int'&燃气轮机;日期函数,python,jupyter-notebook,Python,Jupyter Notebook,目标:计算两天之间的天数 Value int64 Date int64 Month int64 Year int64 Day int64 LocationID int32 CategoryID int32 l_日期无法运行 def my_function(train): train['f_date'] = date(2016, 1, 1) train['l_date

目标:计算两天之间的天数

Value          int64
Date           int64
Month          int64
Year           int64
Day            int64
LocationID     int32
CategoryID     int32
l_日期无法运行

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 fyi)

新错误
TypeError:-:“DatetimeIndex”和“datetime.date”的操作数类型不受支持。

您应该使用pd.to\u datetime。 线路

应更正为

train["l_date"] = pd.to_datetime(train[['Year','Month','Day']])
我想你的日期也打错了


问题是datetime.date需要整数,但df[“colname”]返回一个序列。pd.to_datetime可用于处理系列和数据帧。

是否在脚本中从datetime导入datetime?
train['Year']
将返回一个系列,而不是
int
,对于
train['Month']
train['Date']
我已经包含了从datetime导入date返回的序列,而不是int train['l_date']=日期(train['Year',train['Month',train['date'])类型错误:不支持的操作数类型-:'DatetimeIndex'和'datetime.date'错误发生在
train['date_block']=train['l_date']-train['f_date']
这是由于
列车['f_日期]]=date(2016,1,1)
您可以将列车['f_日期]]转换为以下内容:
列车['date_block']=列车['l_日期]]-pd.到日期时间(列车['f_日期]
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
train["l_date"] = pd.to_datetime(train[['Year','Month','Day']])
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