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

如何在Pandas DataFrame中合并日期时间列生成Timestamp列

解决方法

要将DataFrame中分离的entry_date(日期)和entry_time(时间)列合并为Timestamp格式的entry新列,以下是两种实用方案:

方案一:直接拼接字符串并转换

这是最直观的方法,先将日期和时间字符串拼接为完整的日期时间格式,再用pd.to_datetime转换为Timestamp类型:

import pandas as pd

# 构造原始DataFrame
data = {
    'num_plate_ID': ['XYA', 'JDS', 'OAP', 'ASI'],
    'cam': [2, 2, 0, 1],
    'entry_date': ['2022-02-14', '2022-02-12', '2022-02-05', '2022-04-07'],
    'entry_time': ['23:20:21', '23:20:21', '14:30:21', '15:30:21']
}
df = pd.DataFrame(data)

# 生成entry列
df['entry'] = pd.to_datetime(df['entry_date'] + ' ' + df['entry_time'])

执行后得到的结果如下:

num_plate_ID  cam  entry_date entry_time                entry
0          XYA    2  2022-02-14   23:20:21 2022-02-14 23:20:21
1          JDS    2  2022-02-12   23:20:21 2022-02-12 23:20:21
2          OAP    0  2022-02-05   14:30:21 2022-02-05 14:30:21
3          ASI    1  2022-04-07   15:30:21 2022-04-07 15:30:21

方案二:分类型转换后相加(适用于已解析的日期/时间列)

如果entry_date已经是datetime64类型,entry_time是timedelta64类型,可以直接将两列相加得到Timestamp:

# 先将日期列转为datetime,时间列转为timedelta
df['entry_date'] = pd.to_datetime(df['entry_date'])
df['entry_time'] = pd.to_timedelta(df['entry_time'])

# 相加生成entry列
df['entry'] = df['entry_date'] + df['entry_time']

说明

两种方法最终得到的entry列均为Pandas的Timestamp类型,支持后续的时间序列分析操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:25:29