python - 表时间转换纳秒到分钟
问题描述
要转换为分钟的第一个表:
Time_sec >>> Time_Min)
362.7313 00:06:02,7
490.669 00:08:10,7
824.5673 00:13:44,6
951.829 00:15:51,8
13.0447 00:00:13,0
13.0678 00:00:13,1
122.5468 00:02:02,5
536.7552 00:08:56,8
811.9501 00:13:32,0
938.1133 00:15:38,1
13809718 00:02:19,0
619.4331 00:10:19,4
1407.5125 00:23:27,5
16290049 00:27:09,0
确实尝试过这样的:
df['Time_sec'] = pd.to_datetime(df['Time_sec'].datetime.timedelta(seconds =df['time_sec'])
但是对于 1629,049,我得到 16:29 必须是 27 分钟和 9 秒
解决方案
第一个解决方案是对所有行使用 apply 函数:
df["Time_Min"] = df["Time_Sec"].apply(lambda x: f"{x // 60}:{x % 60}")
第二种解决方案(可能对 pandas C 实现更优化):
df["Time_Min"] = df["Time_Sec"].floordiv(60).map(str) + ":" + df["Time_Sec"].mod(60).map(str)
推荐阅读
- c# - 为什么即使在添加程序集“Microsoft.SqlServer.ConnectionInfo”之后 C# 也无法识别 Server()
- docker - docker nginx 访问日志权限被拒绝
- python - 按范围扩展 DataFrame
- mongodb - 无法通过脚本运行 mongo
- c++ - 为什么 const_cast 和 static_cast 到 const 引用没有效果?
- ios - 以编程方式获取 iOS 中的 GPU 使用情况
- angular - 构建应用程序时未找到/注册错误的 Angular Service Worker
- powershell - 导出 Pfxcertificate 命令在 Powershell 中不可用
- html - 选择字段中的选项仅在切换选项卡后出现
- c# - 如果添加到 where 子句的参数为空,则从 db 获取所有行