Python中如何合并DataFrame内的日期列与时间列?
合并Pandas日期与时间列的解决方案
首先排查最常见的报错原因:
- 列名大小写/拼写不匹配:Pandas列名大小写敏感,你代码中写的是
data['Date'],但实际数据列名是DATE,首先运行print(data.columns.tolist())确认实际列名,和代码中的拼写保持一致。 - 数据类型不兼容:日期、时间列默认多为字符串/object类型,无法直接执行加法操作,需要先做格式转换。
可用实现方法
方法1:直接拼接后转格式(兼容性最好)
先把两列转成字符串,中间补空格拼接后再转datetime类型:
import pandas as pd # 注意替换为你实际的列名 data['Datetime'] = pd.to_datetime(data['DATE'].astype(str) + ' ' + data['Time'].astype(str), errors='coerce')
errors='coerce'参数会把格式错误的内容转成空值(NaT),方便后续排查异常数据。
方法2:Pandas原生多列转换(版本1.1.0+支持)
直接传入包含日期、时间列的子集,Pandas会自动识别拼接:
data['Datetime'] = pd.to_datetime(data[['DATE', 'Time']], errors='coerce')
验证方式
运行print(data[['DATE','Time','Datetime']].head())和print(data.dtypes),即可验证合并结果和列类型是否符合预期。
内容的提问来源于stack exchange,提问作者Wizard
相关产品推荐
相关产品推荐

