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

如何从数据库时间列的字符向量提取含毫秒的时间至新向量?

提取特定格式时间列到新向量的解决方案

以下分R和Python两种常用数据处理场景给出具体实现:

R语言实现

假设你的数据框名为df,时间列名为time_col,可以通过以下两种方式解析时间格式:

方法1:使用lubridate包(推荐)

# 首次使用需安装包
install.packages("lubridate")
library(lubridate)

# 解析时间列生成新向量,tz可按需指定时区(如"Asia/Shanghai")
new_time_vec <- dmy_hms(df$time_col, tz = "UTC")

dmy_hms会自动识别dd/mm/yy hh:mm:ss格式,毫秒部分会被正确解析并保留。

方法2:使用基础R的strptime函数

new_time_vec <- strptime(df$time_col, format = "%d/%m/%y %H:%M:%S:%OS", tz = "UTC")

格式符说明:%d=日,%m=月,%y=两位年份,%H=24小时制小时,%M=分钟,%S=秒,%OS=毫秒。


Python语言实现

假设使用pandas数据框df,时间列名为time_col:

方法1:使用pandas(推荐)

import pandas as pd

# 解析时间列生成datetime类型的新向量
new_time_vec = pd.to_datetime(df['time_col'], format='%d/%m/%y %H:%M:%S:%f')

%f对应毫秒(支持3位输入),解析后得到的是datetime64类型的向量,可直接用于时间计算、筛选等操作。

方法2:基础Python(无pandas依赖)

from datetime import datetime

# 若为pandas列先转为列表,原始数据为列表则直接使用
time_list = df['time_col'].tolist()
new_time_vec = [datetime.strptime(t, '%d/%m/%y %H:%M:%S:%f') for t in time_list]

生成的是datetime对象组成的列表,可直接进行时间相关操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:10:32