我在pandas数据框中的一列表示一个时间差,我用datetime计算后导出到csv文件中,再读取回pandas数据框。现在这一列的dtype是对象,而我希望它是一个时间差,这样我就可以对数据框执行groupby函数了。下面是字符串的样子。谢谢!
0 days 00:00:57.416000
0 days 00:00:12.036000
0 days 16:46:23.127000
49 days 00:09:30.813000
50 days 00:39:31.306000
55 days 12:39:32.269000
-1 days +22:03:05.256000
更新,我最好的尝试是编写一个for循环来迭代遍历pandas数据帧中的特定列:
def delta(i):
days, timestamp = i.split(" days ")
timestamp = timestamp[:len(timestamp)-7]
t = datetime.datetime.strptime(timestamp,"%H:%M:%S") +
datetime.timedelta(days=int(days))
delta = datetime.timedelta(days=t.day, hours=t.hour,
minutes=t.minute, seconds=t.second)
delta.total_seconds()
data['diff'].map(delta)