python中使用pd.to_datetime函数从1970开始以纳秒计时的情况

 

本人简简单单pd.to_datetime函数debug两小时,简直气死,于是怒开一贴

情况是这样

先给大家说下我要转换的数据是20120801到20210301

python中使用pd.to_datetime函数从1970开始以纳秒计时的情况_第1张图片

 

其实非常简单的一个转换时间戳的问题,我按照B站大佬的视频直接pd.to_datetime,结果出来了1970-01-01 00:00:00往上加纳秒。。。。。

然后百度了一下说要设置unit

python中使用pd.to_datetime函数从1970开始以纳秒计时的情况_第2张图片

python中使用pd.to_datetime函数从1970开始以纳秒计时的情况_第3张图片

无论大写小写d都直接报错。。。

设置成秒s的话,结果完全不是想要的

python中使用pd.to_datetime函数从1970开始以纳秒计时的情况_第4张图片

变成从1970-01-01 00:00:00开始以秒计时了

 

好了废话这么多

正确的解决方法

如下

pd.to_datetime(data_many['trade_date'],format = '%Y%m%d')

python中使用pd.to_datetime函数从1970开始以纳秒计时的情况_第5张图片

出来的结果非常舒服,终于成功了。。。。

不过你以为我这两个小时没有试过format吗

百度上有format那我当然试过

不过结果。。。

以下是踩坑避雷指南,,,

python中使用pd.to_datetime函数从1970开始以纳秒计时的情况_第6张图片

当format = '%Y-%m-%d'时。。。。。没有任何作用。。。。

大概是因为我的格式是20120801没有-吧。。。。

只是我不太懂按照%Y-%m-%d的格式好歹也该从d开始计时啊,结果还是纳秒,所以我就没有发现是-的问题。。。

给大家避避雷

另外还有个

python中使用pd.to_datetime函数从1970开始以纳秒计时的情况_第7张图片

format和unit不能同时用,虽然我也不知道为啥。。。。。。

 

好了讲完了

这就是,我居然一行代码搞两个小时还到处找人问。。。。社死现场。。。

第一次发帖记录一下

毕竟我昨天百度。。。卵用没有。。。

大佬们的帖子时间格式与我不同,所以format用的%Y-%m-%d或者%Y/%m/%d,而我压根没注意到其中的细微差别

只能说。。。粗心害死人

 

 

最后总结一下

pd.to_datetime          时间格式20120801,用format = '%Y%m%d'

pd.to_datetime(data_many['trade_date'],format = '%Y%m%d')

时间格式2020/12/12,用 format='%Y/%m/%d'

pd.to_datetime('2020/12/12', format='%Y/%m/%d')

一定注意格式!!!!

真的失之毫厘差之千里

 

 

 

你可能感兴趣的:(python)