本人简简单单pd.to_datetime函数debug两小时,简直气死,于是怒开一贴
情况是这样
先给大家说下我要转换的数据是20120801到20210301
其实非常简单的一个转换时间戳的问题,我按照B站大佬的视频直接pd.to_datetime,结果出来了1970-01-01 00:00:00往上加纳秒。。。。。
然后百度了一下说要设置unit
无论大写小写d都直接报错。。。
设置成秒s的话,结果完全不是想要的
变成从1970-01-01 00:00:00开始以秒计时了
好了废话这么多
正确的解决方法
如下
pd.to_datetime(data_many['trade_date'],format = '%Y%m%d')
出来的结果非常舒服,终于成功了。。。。
不过你以为我这两个小时没有试过format吗
百度上有format那我当然试过
不过结果。。。
以下是踩坑避雷指南,,,
当format = '%Y-%m-%d'时。。。。。没有任何作用。。。。
大概是因为我的格式是20120801没有-吧。。。。
只是我不太懂按照%Y-%m-%d的格式好歹也该从d开始计时啊,结果还是纳秒,所以我就没有发现是-的问题。。。
给大家避避雷
另外还有个
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')
一定注意格式!!!!
真的失之毫厘差之千里