Julia DataFrame 上的多列选择

Beb*_*bio 4 select dataframe julia

假设我有以下 DataFrame :

10 行 x 26 列,命名为 A 到 Z

我想做的是按列的名称(而不是索引)创建列的多个子集。例如,假设我希望在名为 df2 的新 DataFrame 中包含 A 到 D 列和 P 到 Z 列。

我尝试过类似的方法,但似乎不起作用:

df2=df[:,[:A,:D ; :P,:Z]]
Run Code Online (Sandbox Code Playgroud)

语法: Slicing.jl:1 的数组表达式顶级范围中出现意外的分号

有什么办法吗?谢谢你的帮助

Bog*_*ski 5

df2 = select(df, Between(:A,:D), Between(:P,:Z))
Run Code Online (Sandbox Code Playgroud)

或者

df2 = df[:, All(Between(:A,:D), Between(:P,:Z))]
Run Code Online (Sandbox Code Playgroud)

如果你确定你的列只是从:A:Z你也可以写:

df2 = select(df, Not(Between(:E, :O)))
Run Code Online (Sandbox Code Playgroud)

或者

df2 = df[:, Not(Between(:E, :O))]
Run Code Online (Sandbox Code Playgroud)

最后,您可以使用函数轻松找到列的索引columnindex,例如:

columnindex(df, :A)
Run Code Online (Sandbox Code Playgroud)

然后使用列号 - 如果这是您想要的。