Python中如何将日期时间转换为Timestamp?含特定格式数据集日期列转换问题
问题2:转换格式为
1/1/2016 1:00:00 AM的日期列为Timestamp 针对你这种MM/DD/YYYY HH:MM:SS AM/PM的特定格式,不管是单条数据还是批量数据集,都可以精准处理:
用pandas处理数据集(推荐)
这是最适合批量处理的方式,直接指定format参数明确日期格式,避免自动识别出错:
import pandas as pd # 假设你的数据集结构如下 df = pd.DataFrame({ "date": ["1/1/2016 1:00:00 AM", "12/31/2016 11:59:59 PM", "6/15/2016 3:45:00 PM"] }) # 转换为pandas Timestamp列 df["timestamp_col"] = pd.to_datetime(df["date"], format="%m/%d/%Y %I:%M:%S %p") # 如果需要Unix时间戳(秒数),添加这一列 df["unix_ts"] = df["timestamp_col"].apply(lambda x: x.timestamp())
这里的格式符对应解释:
%m:月份(支持1位或2位,比如1或01)%d:日期(同样支持1位或2位)%Y:4位年份%I:12小时制的小时数(1-12)%M:分钟数%S:秒数%p:AM/PM标识(和字符串里的大小写对应即可)
原生Python处理单条数据
如果只是处理单个这种格式的字符串,用datetime.strptime就能搞定:
from datetime import datetime date_str = "1/1/2016 1:00:00 AM" dt_obj = datetime.strptime(date_str, "%m/%d/%Y %I:%M:%S %p") timestamp = dt_obj.timestamp() print(timestamp) # 输出:1451606400.0
内容的提问来源于stack exchange,提问作者user17488887
相关产品推荐
相关产品推荐

