重命名 Dataframe 列名 julia v1.0

And*_*man 6 dataframe julia

在 0.6 我使用的是:

colnames = ["Date_Time","Date_index","Time_index"]
names!(data1_date_time_index.colindex, map(parse, colnames))
Run Code Online (Sandbox Code Playgroud)

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]))
Run Code Online (Sandbox Code Playgroud)

Bog*_*ski 16

假设data1_date_time_index是一个DataFrame具有三列的使用:

colnames = ["Date_Time","Date_index","Time_index"]
names!(data1_date_time_index, Symbol.(colnames))
Run Code Online (Sandbox Code Playgroud)

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

问题data1_date_time_index.colindex在于当前.用于DataFrame按名称访问 a的列(而不是DataFrame类型的字段)。一般来说,不建议您使用,colindex因为它不是公开 API 的一部分,将来可能会发生变化。如果您确实需要达到它,请使用getfield(data_frame_name, :colindex).

编辑

在 DataFrames 0.20 中你应该写:

rename!(data1_date_time_index, Symbol.(colnames))
Run Code Online (Sandbox Code Playgroud)

在 DataFrames 0.21(将在 2020 年夏季之前发布)中,也很可能允许直接传递字符串,如下所示:

rename!(data1_date_time_index, colnames)
Run Code Online (Sandbox Code Playgroud)

(有关相关讨论,请参见此处

  • 嘿@Bogumil,你当然已经知道这一点,但是 `names!()` 现在已被弃用,取而代之的是 `rename!()`。只是一个建议,但您可能想更新上面的代码。否则,这是一篇非常有帮助的文章,因为我昨晚需要做这样的事情:)。 (2认同)

Moh*_* ah 6

select您还可以通过以下方式重命名列

\n

例如:

\n
df = DataFrame(col1 = 1:4, col2 = ["John", "James", "Finch", "May"])\n\n\xe2\x94\x82 Row \xe2\x94\x82 col1  \xe2\x94\x82 col2   \xe2\x94\x82\n\xe2\x94\x82     \xe2\x94\x82 Int64 \xe2\x94\x82 String \xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x82 1   \xe2\x94\x82 1     \xe2\x94\x82 John   \xe2\x94\x82\n\xe2\x94\x82 2   \xe2\x94\x82 2     \xe2\x94\x82 James  \xe2\x94\x82\n\xe2\x94\x82 3   \xe2\x94\x82 3     \xe2\x94\x82 Finch  \xe2\x94\x82\n\xe2\x94\x82 4   \xe2\x94\x82 4     \xe2\x94\x82 May    \xe2\x94\x82\n\n\nselect(df, "col1" => "Id", "col2" => "Name")\n\n\xe2\x94\x82 Row \xe2\x94\x82 Id    \xe2\x94\x82 Name   \xe2\x94\x82\n\xe2\x94\x82     \xe2\x94\x82 Int64 \xe2\x94\x82 String \xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x82 1   \xe2\x94\x82 1     \xe2\x94\x82 John   \xe2\x94\x82\n\xe2\x94\x82 2   \xe2\x94\x82 2     \xe2\x94\x82 James  \xe2\x94\x82\n\xe2\x94\x82 3   \xe2\x94\x82 3     \xe2\x94\x82 Finch  \xe2\x94\x82\n\xe2\x94\x82 4   \xe2\x94\x82 4     \xe2\x94\x82 May    \xe2\x94\x82\n
Run Code Online (Sandbox Code Playgroud)\n