我有一个系列,其中时间戳的格式为HHHHH:MM:
timestamp = pd.Series(['34:23', '125:26', '15234:52'], index=index)
Run Code Online (Sandbox Code Playgroud)
我想将其转换为 timedelta 系列。
现在我设法在一个字符串上做到这一点:
str[:-3]
str[-2:]
timedelta(hours=int(str[:-3]),minutes=int(str[-2:]))
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我想以更简洁的方式将它应用到整个系列中。有没有办法做到这一点?
我在 Windows 10 上有 Anaconda 3。我正在读取欧洲格式的 csv 文件(“,”作为分隔符)。我使用“十进制”来指定逗号,但它并不适用于所有列。
csv 文件行如下所示:
2;PAU;11:21:19;00:00;00:00;0;0;2,102;0,00;20,75;20,75;0,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00
x=pd.read_csv(file,sep=';',decimal=',',encoding='latin-1',low_memory=False)
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
0 2 PAU 11:21:19 00:00 00:00 0 0 2,102 0.00 20.75 20.75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Run Code Online (Sandbox Code Playgroud)
欧洲格式已成功考虑到 20.75,但未考虑到 2,102。
有什么建议吗?
编辑:仍然没有干净的解决方案,我通过这样做来管理:
x['Tension'] = x['Tension'].str.replace(',','.')
Run Code Online (Sandbox Code Playgroud)