Python 用时间戳减去两个数据帧列
我有以下代码来计算两个dataframe列的小时差,并将其放入一个新列中:Python 用时间戳减去两个数据帧列,python,datetime,pandas,dataframe,timedelta,Python,Datetime,Pandas,Dataframe,Timedelta,我有以下代码来计算两个dataframe列的小时差,并将其放入一个新列中: def transform_data(data_frame): start = pd.to_datetime(data_frame['start']) end = pd.to_datetime(data_frame['end']) print(start, end) data_frame['hours'] = (end-start) return fetch_layers(
def transform_data(data_frame):
start = pd.to_datetime(data_frame['start'])
end = pd.to_datetime(data_frame['end'])
print(start, end)
data_frame['hours'] = (end-start)
return fetch_layers(data_frame)
如果我运行此命令,它将打印以下内容:
3402959 2010-09-06 09:00:00
3402961 2010-09-07 09:30:00
...
3403125 2011-04-15 08:30:00
3403126 2011-04-18 09:00:00
Name: start, dtype: datetime64[ns]
3402959 2010-09-06 18:00:00
3402961 2010-09-07 18:00:00
...
Name: end, dtype: datetime64[ns]
Series([], Name: start, dtype: datetime64[ns]) Series([], Name: end, dtype: datetime64[ns])
由此看来,两列现在都有日期时间,但减去它会产生以下错误:
TypeError: ufunc subtract cannot use operands with types dtype('<M8[ns]') and dtype('O')
TypeError:ufunc subtract不能使用类型为dtype的操作数('你能提供一个数据帧失败的例子吗?好吧,我打印的数据就是失败的地方。整个文件太大了,无法在这里打印。我想你能提供你正在使用的熊猫的版本吗?你应该能够通过pd.show\u versions()获得它。)
。我使用的版本是0.17.1