我有一个数据框,看起来像这样:
I have a DataFrame that looks like the following:
OrdNo LstInvDt
9 20070620
11 20070830
19 20070719
21 20070719
23 20070719
26 20070911
29 20070918
31 0070816
34 20070925
LstInvDt
是int64
类型的数据。可以看到,这些数字的格式为YYYYMMDD
,例如20070530
表示2007年5月30日。我尝试了许多方法,最明显的是:
pd.to_datetime(dt['Date'])
和pd.to_datetime(str(dt['Date']))
,并对函数的不同参数进行了多种变化。
结果是日期被解释为时间。日期被设置为1970-01-01
- 与上面的例子相同的结果为1970-01-01 00:00:00.020070530
我还尝试了在类似帖子中找到的各种.map()
函数。
我如何正确地转换它?
to_datetime
函数接受一个格式字符串,所以pd.to_datetime(str(t), format='%Y%m%d')
应该可以工作:In [92]: t = 20070530 pd.to_datetime(str(t), format='%Y%m%d') Out[92]: Timestamp('2007-05-30 00:00:00')
- EdChumutf-8
,但显然有些事情正在发生,而我不知道。我将不得不再次查看SQL导入部分......谢谢您的帮助@EdChum。您回答了我的问题,所以我会将您的答案标记为已接受。看起来我将花费今天大部分时间来找出这个问题... - Rookie