如何忽略tzinfo将带时区的pandas Timestamp转换为datetime.datetime
解决方法:移除时区并转换为datetime.datetime
这问题我之前处理过,给你两种简单可行的办法:
方法一:先移除时区再转换
先使用tz_localize(None)将带时区的Timestamp转为无时区的naive Timestamp,再调用to_pydatetime()转成标准datetime对象:
import pandas as pd import datetime # 你的带时区Timestamp对象 md = pd.Timestamp('2018-02-02 23:59:59+0000', tz='UTC') # 移除时区信息 md_no_tz = md.tz_localize(None) # 转换为datetime.datetime dt_obj = md_no_tz.to_pydatetime()
方法二:简洁的一步转换
直接用replace(tzinfo=None)移除时区属性,再转成datetime,代码更紧凑:
dt_obj = md.replace(tzinfo=None).to_pydatetime()
两种方法最终都会得到datetime.datetime(2018, 2, 2, 23, 59, 59),完全忽略了原Timestamp的UTC时区信息,保留了原始的时间数值。
内容的提问来源于stack exchange,提问作者Ladenkov Vladislav
相关产品推荐
相关产品推荐

