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