我想将datetime对象转换为秒
0 49:36.5
1 50:13.7
2 50:35.8
3 50:37.4
4 50:39.3
...
92 1:00:47.8
93 1:01:07.7
94 1:02:15.3
95 1:05:03.0
96 1:05:29.6
Name: Finish, Length: 97, dtype: object
问题是格式在索引92处改变,这导致错误:值错误:之前应为hh:mm:ss格式。
此错误是在尝试将列转换为秒时导致的
filt_data["F"] = pd.to_timedelta('00:'+filt_data["Finish"]).dt.total_seconds()
当我在两个步骤中进行转换时,它可以工作,但会产生两个不同的列,我不知道如何合并,也不知道它看起来是否真的有效:
filt_data["F1"] = pd.to_timedelta('00:'+filt_data["Finish"].loc[0:89]).dt.total_seconds()
filt_data["F2"] = pd.to_timedelta('0'+filt_data["Finish"].loc[90:97]).dt.total_seconds()
上面的代码没有引起任何错误,并且完成了任务,但是产生了两个不同的列。2你知道怎么做吗?
理想情况下,我希望遍历列,并根据格式(即“50:39.3”或“1:00:47.8”)将“00:“或“0”添加到对象中。
2条答案
按热度按时间idfiyjo81#
我会使用
str.replace
:或者
str.count
和map
:输出量:
aemubtdh2#
根据您的数据:
您可以编写一个函数,应用于时间列中的每个单独条目:
然后,您可以执行两个步骤:
1.将列转换为日期时间
1.将列转换为UNIX时间戳(自1970-01-01以来的秒数)