我想使用while循环来获取数据帧中当前行和前一行之间的时间差。为了提供一些上下文,下面是我的示例代码:
counter = len(data)-1
last = pd.to_datetime(data['time'], infer_datetime_format=True)
current = last
while((last-current).seconds() <= 60 and counter>-1):
# Do something
data[counter]
但是,我收到了以下错误消息:
AttributeError: 'Series' object has no attribute 'seconds'
据我所知,datetime
函数不适用于pandas系列,因此至少有两种方法可以解决这个问题:
1)将last
存储为datetime对象以利用.seconds()
datetime
函数
2)使用熊猫版本的(last-current).seconds()
datetime
函数
非常感谢您的帮助!你知道吗
附加数据结构示例
{'time': {0: Timestamp('2016-03-28 23:23:12'), 1: Timestamp('2016-03-28 23:23:32'), 2: Timestamp('2016-03-28 23:23:52'), 3: Timestamp('2016-03-28 23:24:12'), 4: Timestamp('2016-03-28 23:22:12'), 5: Timestamp('2016-03-28 23:24:32'), 6: Timestamp('2016-03-28 23:24:52'), 7: Timestamp('2016-03-28 23:25:32'), 8: Timestamp('2016-03-28 23:30:12'), 9: Timestamp('2016-03-28 23:29:12')}, 'Origin': {0: 'Boston', 1: 'New York', 2: 'Boston', 3: 'New York', 4: 'Hawaii', 5: 'Hawaii', 6: 'Miami', 7: 'Las Vegas', 8: 'Hawaii', 9: 'New York'}, 'Destination': {0: 'Miami', 1: 'Miami', 2: 'Miami', 3: 'Boston', 4: 'Boston', 5: 'New York', 6: 'Las Vegas', 7: 'Las Vegas', 8: 'Las Vegas', 9: 'Los Angeles'}}
我相信这就是你需要的:
输出如下:
根据评论编辑
有几种方法可以获得总秒数。你知道吗
或者更好的是:
相关问题 更多 >
编程相关推荐