将日期时间格式转换为Unix时间戳Pandas

2024-06-16 09:03:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将pandas中的正常日期时间转换为unix时间戳。在寻找一些样本时,我只能找到一个例子here,但我不能在我的上下文中使用。数据集没有头,最后一个2 columns需要转换UNIX time stamp,并生成一个新的输出以及前3列。在

1466f7b93975983f6e292a8a4faaa4b2,1619b4d0d283c0dddb17d24a359a3b49,36db348cde68592a31d502366fc52932,2010-03-08 17:09:00.472544,2010-03-12 16:09:58.122987
367c13356a5d22158f0ae56977134e2c,eedb7d0714796b64767a8710ea3844a7,925476200929fd346ea312cbe9a046fe,2010-03-08 17:08:29.174236,2010-03-12 16:09:58.122987
edf6b1e4f67b0e8a5080d299c9f9aeb2,7cb7681b90388a7522d0f06578591567,ffde0649a72ded8e33522c503a4d5cbe,2010-03-08 17:08:22.030524,2010-03-12 16:09:58.122987
6bb2ad8bc78897e99072d4d76cf0f19c,b644947ac4db03bdb518cfa71765f8c8,eb25089d396c06255cbb5f1bad801cc4,2010-03-08 17:07:55.819137,2010-03-12 16:09:58.122987

输入文件有数百万行,我在这里只发布了几行。 任何建议都是有价值的。提前感谢


Tags: columns数据pandasheretimestamp时间unix
2条回答

Unix日期时间是自1970年1月1日以来的秒数。在

因此,为了确保从正确的日期转换:

def dt2ut(dt):
    epoch = pd.to_datetime('1970-01-01')
    return (dt - epoch).total_seconds()

那么

^{2}$

您可以先^{},然后通过^{}除以10**9将最后两列转换为np.int64。要写入文件,请使用^{}

import pandas as pd
import numpy as np
import io

temp=u"""1466f7b93975983f6e292a8a4faaa4b2,1619b4d0d283c0dddb17d24a359a3b49,36db348cde68592a31d502366fc52932,2010-03-08 17:09:00.472544,2010-03-12 16:09:58.122987
367c13356a5d22158f0ae56977134e2c,eedb7d0714796b64767a8710ea3844a7,925476200929fd346ea312cbe9a046fe,2010-03-08 17:08:29.174236,2010-03-12 16:09:58.122987
edf6b1e4f67b0e8a5080d299c9f9aeb2,7cb7681b90388a7522d0f06578591567,ffde0649a72ded8e33522c503a4d5cbe,2010-03-08 17:08:22.030524,2010-03-12 16:09:58.122987
6bb2ad8bc78897e99072d4d76cf0f19c,b644947ac4db03bdb518cfa71765f8c8,eb25089d396c06255cbb5f1bad801cc4,2010-03-08 17:07:55.819137,2010-03-12 16:09:58.122987"""
^{2}$
print df
                                  a                                 b  \
0  1466f7b93975983f6e292a8a4faaa4b2  1619b4d0d283c0dddb17d24a359a3b49   
1  367c13356a5d22158f0ae56977134e2c  eedb7d0714796b64767a8710ea3844a7   
2  edf6b1e4f67b0e8a5080d299c9f9aeb2  7cb7681b90388a7522d0f06578591567   
3  6bb2ad8bc78897e99072d4d76cf0f19c  b644947ac4db03bdb518cfa71765f8c8   

                                  c           d           e  
0  36db348cde68592a31d502366fc52932  1268068140  1268410198  
1  925476200929fd346ea312cbe9a046fe  1268068109  1268410198  
2  ffde0649a72ded8e33522c503a4d5cbe  1268068102  1268410198  
3  eb25089d396c06255cbb5f1bad801cc4  1268068075  1268410198  

df.to_csv('filename', header=None, index=False)

相关问题 更多 >