将纳秒转换为天、小时、分钟和秒
Convert nanoseconds to days, hours, min and seconds
我在 python 中使用 pandas df 并尝试将包含纳秒的列转换为包含天、小时、分钟和秒的时间,但我没有成功.
我原来的 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 的答案,但是在代码之后,returns 一个日期,这不是我想要的。
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)
Returns 错误:timedelta 微秒组件类型不受支持:系列。可能是因为这个 staement 一次只能处理一个值。
使用 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
我在 python 中使用 pandas df 并尝试将包含纳秒的列转换为包含天、小时、分钟和秒的时间,但我没有成功.
我原来的 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 的答案,但是在代码之后,returns 一个日期,这不是我想要的。
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)
Returns 错误:timedelta 微秒组件类型不受支持:系列。可能是因为这个 staement 一次只能处理一个值。
使用 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