有没有办法将文本文件中的日期(“2000-01”)变量作为日期直接读取到 Julia DataFrame 中?据我所知,没有这方面的文档。
df = readtable("path/dates.txt", eltypes = [Date, Date])
这不起作用,尽管它看起来应该起作用。我通常的过程是将日期作为字符串读取,然后循环每一行以创建一个新的日期变量。现在,这已经成为我的一些流程的瓶颈,与数据帧的大小有关。
我通常的流程是做这样的事情:
full_df[:real_date] = Date(full_df[:temp_dte_string], "m/d/y")
谢谢
最佳答案
我认为目前没有任何方法可以像您的第一个建议代码那样一步完成加载。但是,您可以通过创建 DateFormat 对象并用它而不是字符串调用 Date 来稍微加快第二种方法的速度。 (这已被简要提及here。)
dfmt = Dates.DateFormat(“m/d/y”)
full_df[:real_date] = Date(full_df[:temp_dte_string], dfmt)
(出于某种原因,我认为 Date 没有矢量化,并且一直在我所有代码的 for 循环中执行此操作。哎呀。)
删除变量是指删除一列还是一行?如果您指的是前者,那么还有其他一些方法可以做到这一点,包括诸如
function vectorin(a, b) #IMHO this should be in base
bset = Set(b)
[i in bset for i in a]
end
df = DataFrame(A1="", A2="", A3="", D="", E="", F="") #Some long list of columns
badCols = [:D, :F] #Some long list of columns you want to remove
df = df[names(df)[!vectorin(names(df), badCols)]]
有时我会读取包含很多额外列的 csv 文件,然后执行类似的操作
df = readtable("data.csv")
df = df[[:Only, :the, :cols, :I, :want]]
关于dataframe - 将 .txt 作为日期类型读入 Julia DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31637556/