如何在Pandas DataFrame中由日期和时间列生成时间戳
解决方法
直接按以下步骤操作即可:
清理日期列的异常字符
你的数据里第三行日期末尾多了个点,先把它去掉避免转换报错:df['date'] = df['date'].str.replace(r'\.$', '', regex=True)合并日期和时间并转换为标准时间戳
把date和time列拼接成完整的日期时间字符串,用pd.to_datetime解析后会自动识别AM/PM格式,转换成24小时制的标准datetime类型:df['timestamp'] = pd.to_datetime(df['date'] + ' ' + df['time'])删除原有的日期和时间列
用drop方法移除不需要的原始列:df = df.drop(['date', 'time'], axis=1)
完整代码示例
import pandas as pd # 模拟你的原始数据 data = { 'date': ['12/8/2022', '12/9/2022', '12/10/2022.'], 'time': ['5:15 AM', '8:55 PM', '9:20 AM'] } df = pd.DataFrame(data) # 清理日期列(若无多余点可跳过) df['date'] = df['date'].str.replace(r'\.$', '', regex=True) # 生成时间戳列 df['timestamp'] = pd.to_datetime(df['date'] + ' ' + df['time']) # 删除原列 df = df.drop(['date', 'time'], axis=1) print(df)
运行后输出结果:
timestamp 0 2022-12-08 05:15:00 1 2022-12-09 20:55:00 2 2022-12-10 09:20:00
内容的提问来源于stack exchange,提问作者pythonic
相关产品推荐
相关产品推荐

