You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas将DataFrame中的时间时长转换为毫秒?

将Pandas中的时长字符串转换为毫秒

完整解决方案代码

import pandas as pd
from io import StringIO

# 生成原始DataFrame
df = """
 b_id          duration1                  duration2                          user

 384           28 days 21:05:16.141263     0 days 00:00:44.999706            Test
 
"""
df = pd.read_csv(StringIO(df.strip()), sep='\\s\\s+', engine='python')

# 将时长字符串转换为毫秒
df['duration1_ms'] = pd.to_timedelta(df['duration1']).total_seconds() * 1000
df['duration2_ms'] = pd.to_timedelta(df['duration2']).total_seconds() * 1000

# 可选:转换为整数毫秒(去掉小数部分)
df['duration1_ms'] = df['duration1_ms'].astype(int)
df['duration2_ms'] = df['duration2_ms'].astype(int)

print(df)

关键步骤说明

  • 解析时长字符串:pd.to_timedelta()可以自动识别X days hh:mm:ss.ffffff格式的字符串,将其转换为Pandas原生的Timedelta类型,该类型支持各类时间运算。
  • 转换为毫秒:调用total_seconds()方法获取时长的总秒数,乘以1000即可得到总毫秒数。
  • 整数毫秒处理:如果不需要保留小数部分的毫秒,用astype(int)转换类型即可。

输出示例

b_id               duration1              duration2  user  duration1_ms  duration2_ms
0   384  28 days 21:05:16.141263  0 days 00:00:44.999706  Test     2493916141        44999

内容的提问来源于stack exchange,提问作者William

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:40:40