【问题标题】:Pandas time conversion not consistent?熊猫时间转换不一致?
【发布时间】:2019-07-31 09:02:01
【问题描述】:

我尝试使用 apply 方法将时间戳转换为数据帧中的日期时间对象,但是,当我将日期时间对象转换回时间戳时,它是一个不同的时间戳。有没有人遇到过这个问题以及如何解决这个问题?

如上

original_ts = 1564560384
a = pd.DataFrame({"ts": [original_ts]})
a["time"] = a["ts"].apply(lambda x: 
datetime.datetime.fromtimestamp(x))
a["time"].iloc[0].timestamp()
# outputs 1564545984.0

我希望输出与 original_ts 相同,但事实并非如此

【问题讨论】:

    标签: pandas timestamp


    【解决方案1】:

    您需要指定时区为无:

    import datetime
    original_ts = 1564560384
    a = pd.DataFrame({"ts": [original_ts]})
    a["time"] = a["ts"].apply(lambda x: datetime.datetime.fromtimestamp(x, tz=None))
    a["time"].iloc[0].timestamp() # 1564560384.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 2020-04-16
      相关资源
      最近更新 更多