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

Pandas技术问题:提取date列日期并合并至time列

提取日期并合并到时间列的解决方案

需求说明

现有如下DataFrame(time和date列均为object类型):

time         date    
11:42:14.556 2023-12-10 10:12:00.129465868
11:42:16.005 2023-12-11 15:25:00.759067848
11:42:32.175 2023-12-12 13:56:00.653087940

需要从date列提取日期部分,合并到time列,生成完整的时间数据。


具体步骤

1. 提取date列的日期部分

date列格式为YYYY-MM-DD HH:MM:SS.xxxxxx,日期部分固定为前10个字符,直接用字符串切片提取:

df['date_part'] = df['date'].str[:10]

也可以用字符串分割方式(按空格拆分后取第一个元素):

df['date_part'] = df['date'].str.split().str[0]

2. 合并日期与时间列

将提取的日期部分和time列用空格拼接,生成完整的时间字符串:

df['full_datetime_str'] = df['date_part'] + ' ' + df['time']

3. (可选)转为datetime类型

如果需要后续做时间相关操作,把拼接后的字符串转为datetime类型:

df['full_datetime'] = pd.to_datetime(df['full_datetime_str'])

完整示例代码

import pandas as pd

# 构造示例DataFrame
data = {
    'time': ['11:42:14.556', '11:42:16.005', '11:42:32.175'],
    'date': ['2023-12-10 10:12:00.129465868', '2023-12-11 15:25:00.759067848', '2023-12-12 13:56:00.653087940']
}
df = pd.DataFrame(data)

# 一步到位生成datetime列(跳过中间列)
df['full_datetime'] = pd.to_datetime(df['date'].str[:10] + ' ' + df['time'])

# 输出结果
print(df)

运行后会得到包含完整时间列的DataFrame,可根据需求保留或删除原列。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:42:37