如何解决将纳秒转换为天,小时,分钟和秒
我正在使用pandas df在python中进行工作,并尝试将包含纳秒的列转换为具有天,小时,分钟和秒的时间,但是我没有成功。
我的原始df如下:
ID TIME_NANOSECONDS
1 47905245000000000
2 45018244000000000
3 40182582000000000
结果应如下所示:
ID TIME_NANOSECONDS TIME
1 47905245000000000 554 days 11:00:45.000000000
2 45018244000000000 521 days 01:04:04.000000000
3 40182582000000000 465 days 01:49:42.000000000
我找到了一些建议使用timedelta的答案,但是下面的代码返回一个日期,这不是我想要的。
temp_fc_col['TIME_TO_REPAIR_D'] = datetime.timedelta(temp_fc_col['TIME_TO_REPAIR'],unit='ns')
或者,
temp_fc_col['TIME_TO_REPAIR_D'] = (timedelta(microseconds=round(temp_fc_col['TIME_TO_REPAIR'],-3)
返回错误:timedelta微秒组件的不受支持的类型:系列。可能是因为这种情况一次只能处理一个值。
解决方法
将to_timedelta
与Series
配合使用时,也应省略unit='ns'
:
temp_fc_col['TIME_TO_REPAIR_D'] = pd.to_timedelta(temp_fc_col['TIME_NANOSECONDS'])
print (temp_fc_col)
ID TIME_NANOSECONDS TIME_TO_REPAIR_D
0 1 47905245000000000 554 days 11:00:45
1 2 45018244000000000 521 days 01:04:04
2 3 40182582000000000 465 days 01:49:42
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。