重命名数据框列名称julia v1.0

时间:2018-08-17 20:44:32

标签: dataframe julia

在0.6中,我正在使用:

colnames = ["Date_Time","Date_index","Time_index"]
names!(data1_date_time_index.colindex, map(parse, colnames))

v1.0的语法是什么-目前找不到.colindex。

每个DataFrames文档:

rename!(data1_date_time_index, f => t for (f, t) =
   zip([:x1, :x1_1, :x1_2],     
       [:Date_Time, :Date_index, :Time_index]))

3 个答案:

答案 0 :(得分:2)

假设data1_date_time_index是一个DataFrame,具有三列用途:

colnames = ["Date_Time","Date_index","Time_index"]
names!(data1_date_time_index, Symbol.(colnames))

我不确定100%是否是您想要的,因为您的示例不能完全重现(因此,如果实际上您还需要其他内容,请提交可以运行的完整代码)。

data1_date_time_index.colindex的问题是当前.用于访问DataFrame的列名(而不是DataFrame类型的字段)。通常,不建议您使用colindex,因为它不是公开API的一部分,并且将来可能会更改。如果您确实需要使用它,请使用getfield(data_frame_name, :colindex)

答案 1 :(得分:0)

我现在不在电脑前,但是此代码不起作用?:

重命名列:

名称!(df,[:c1,:c2,:c3])(全部)

重命名!(df,Dict(:oldCol =>:newCol))(选择)

(来自:https://syl1.gitbook.io/julia-language-a-concise-tutorial/useful-packages/dataframes

答案 2 :(得分:0)

您也可以通过select重命名列

例如:

df = DataFrame(col1 = 1:4, col2 = ["John", "James", "Finch", "May"])

│ Row │ col1  │ col2   │
│     │ Int64 │ String │
├─────┼───────┼────────┤
│ 1   │ 1     │ John   │
│ 2   │ 2     │ James  │
│ 3   │ 3     │ Finch  │
│ 4   │ 4     │ May    │


select(df, "col1" => "Id", "col2" => "Name")

│ Row │ Id    │ Name   │
│     │ Int64 │ String │
├─────┼───────┼────────┤
│ 1   │ 1     │ John   │
│ 2   │ 2     │ James  │
│ 3   │ 3     │ Finch  │
│ 4   │ 4     │ May    │