我试图将数据框形式的列浮动到字符串。我试过了
df = readtable("data.csv", coltypes = {String, String, String, String, String, Float64, Float64, String});
但我抱怨了
syntax: { } vector syntax is discontinued
我也试过
dfB[:serial] = string(dfB[:serial])
但它也没有用。所以,我想知道在Julia中更改列数据类型的正确方法是什么。
THX
答案 0 :(得分:3)
在您第一次尝试时,Julia会告诉您问题所在 - 您无法使用{}
制作矢量,您需要使用[]
。此外,关键字参数的名称应为eltypes
,而不是coltypes
。
在第二次尝试时,你没有浮动,你有一个浮动向量。因此,要更改类型,您需要更改所有元素的类型。在Julia中,对矢量的元素运算通过'点'语法推广,例如: string.(collect(dfB[:serial]))
。当前需要collect
才能首先将DataArray转换为普通数组 - 如果DataArray包含NA,则会失败。恕我直言,DataFrames界面仍然相当不稳定,所以期待像这样的ATM一些令人头疼的问题。