如何在Pandas中合并datetime日期列与字符串时间列生成时间戳?
合并datetime类型日期列与字符串时间列生成时间戳的方案
针对你的场景(Date列为datetime64[ns],Time列为object类型的HH:MM字符串),有两种高效的解决方法:
方法一:利用时间增量相加(推荐)
直接将Time列转换为timedelta类型,与Date列的datetime值相加,这种方式无需字符串拼接,精度更高:
import pandas as pd df = pd.read_excel(filepath) # 将HH:MM格式的Time转为timedelta(补全秒部分) df['Timestamp'] = df['Date'] + pd.to_timedelta(df['Time'] + ':00')
方法二:提取日期部分拼接后转换
如果偏好字符串拼接的方式,可以提取Date列的纯日期部分(不带时分秒),再与Time列拼接后转为datetime:
import pandas as pd df = pd.read_excel(filepath) # 提取Date的日期部分转为字符串,再拼接Time df['Timestamp'] = pd.to_datetime(df['Date'].dt.date.astype(str) + ' ' + df['Time'])
两种方法都能生成格式为YYYY-MM-DD HH:MM:00的正确时间戳,其中方法一无需字符串转换,性能更优,适合处理大数据量的场景。
内容的提问来源于stack exchange,提问作者user8421
相关产品推荐
相关产品推荐

