时间戳字符串(Unix 时间)到 datetime 或 pandas.Timestamp
Posted
技术标签:
【中文标题】时间戳字符串(Unix 时间)到 datetime 或 pandas.Timestamp【英文标题】:timestamp string (Unix time) to datetime or 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 列视为时间戳(以便我可以转换为日期时间)?
【问题讨论】:
【参考方案1】:在使用astype
将dtype
转换为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')
【讨论】:
以上是关于时间戳字符串(Unix 时间)到 datetime 或 pandas.Timestamp的主要内容,如果未能解决你的问题,请参考以下文章
将dateTime格式转换为Unix时间戳或将Unix时间戳转换为dateTime格式
pandas使用to_datetime函数将unix时间戳转化为日期时间格式(Convert Unix times to DateTime)
将 datetime 转换为 Unix 时间戳并将其转换回 python
在 Python 中将 datetime 更改为 Unix 时间戳