【问题标题】:timestamp string (Unix time) to datetime or pandas.Timestamp时间戳字符串(Unix 时间)到 datetime 或 pandas.Timestamp
【发布时间】:2016-07-10 17:04:30
【问题描述】:

我从某个来源检索一些 JSON 格式的数据。我想将此数据(及时测量)保存为文本文件。反复我想去同一个来源,看看是否有新的测量可用,如果有,我想将它添加到其他测量中。

我得到的数据是这样的:

{"xyz":[{"unixtime":"1458255600","time":"00:00","day":"18\/03","value":"11","paramlabel":"30-500 mHz","popupcorr":"550","iconnr":"7","paramname":"30-500 mHz"},{"unixtime":"1458256200","time":"00:10","day":"18\/03","value":"14","paramlabel":"30-500 mHz","popupcorr":"550","iconnr":"7","paramname":"30-500 mHz"},etc.]}

我将这些数据加载到 pandas DataFrame 中,以便能够更轻松地使用它。但是,当我将其加载到数据框中时,所有列都被视为字符串。如何确保将 unixtime 列视为时间戳(以便我可以转换为日期时间)?

【问题讨论】:

    标签: python datetime pandas timestamp unix-timestamp


    【解决方案1】:

    在使用astypedtype 转换为int 后,使用to_datetime 并传递unit='s' 将值视为纪元时间:

    df['unixtime'] = pd.to_datetime(df['unixtime'].astype(int), unit='s')
    

    例子:

    In [162]:
    pd.to_datetime(1458255600, unit='s')
    
    Out[162]:
    Timestamp('2016-03-17 23:00:00')
    

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 2018-01-04
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 2011-12-10
      相关资源
      最近更新 更多