举个简单的例子:
import datatable as dt
import pandas as pd
from datetime import datetime
d_t = dt.Frame(pd.DataFrame({"Date": ["04/05/2020", "04/06/2020"]}))
str32类型中只有一个名为Date的列具有两个值
如何在datatable框架中将日期列转换为日期格式
我试过了
dates_list = [datetime.strptime(date, "%m/%d/%Y") for date in d_t["Date"].to_list()[0]]
d_t[:,"NewDate"] = dt.Frame(dates_list)
d_t["NewDate"].max()
# The code can run successfully so far.
但结果如下所示:
NewDate
▪▪▪▪▪▪▪▪
0 NA
我认为这仍然不是一种约会形式
即使我查了每一列的类型,我仍然不知道:
d_t.stypes
[Out]: (stype.str32, stype.obj64)
有没有办法解决这个问题或其他选择
谢谢你的回答
datatable 1.0引入了新的列类型^{} 和^{}
在这种情况下,从字符串列
Date
到date32
类型的转换如下:虽然有点冗长,但它在datatable中执行所有操作,而不会产生开销和中间列表或帧的惩罚。希望将来的版本将在^{} 之外添加更多函数,以简化这种转换操作
如果您选择了ISO 8601 standard来表示日期(即
%Y-%m-%d
格式的字符串),那么转换为date32
会简单得多:相关问题 更多 >
编程相关推荐