Dataframe 如何按名称删除julia数据帧中的多个列?

Dataframe 如何按名称删除julia数据帧中的多个列?,dataframe,julia,Dataframe,Julia,在中,据说delete可以应用于一组列,但我无法获得它,以便在一篇文章中按名称删除多个列 我也尝试过使用列表理解,但仍然出现了一个错误(而对于多个数据帧,它只起作用): 有什么提示吗?好吧,似乎写在上面给了我灵感: [delete!(df, colname) for df in [df1, df2, df3], colname in [:col2,:col5]]; 或 (我仍然必须理解这个奇怪的:符号在Julia中的意思,我的错…-)正如您所发现的,数据帧使用符号(:foo)而不是字符串(“f

在中,据说
delete
可以应用于一组列,但我无法获得它,以便在一篇文章中按名称删除多个列

我也尝试过使用列表理解,但仍然出现了一个错误(而对于多个数据帧,它只起作用):


有什么提示吗?

好吧,似乎写在上面给了我灵感:

[delete!(df, colname) for df in [df1, df2, df3], colname in [:col2,:col5]];


(我仍然必须理解这个奇怪的
符号在Julia中的意思,我的错…-)

正如您所发现的,数据帧使用符号(
:foo
)而不是字符串(
“foo”
)来索引列。语言的创造者之一在这里解释了为什么会这样:

非常有趣的讨论。它有点像我的C指针和C
*
操作符。。谢谢你指给我看。当用在字母前面时,它表示该项目是一个符号。数据帧之类的包使用符号表示列名,而不是字符串(也称为“a”)。如果在像
a[1,:]
这样的情况下使用,
表示all的概念,因此这将返回第一行中的每一列。
[delete!(df, colname) for df in [df1, df2, df3], colname in [:col2,:col5]];
[delete!(df,[:col2,:col5]) for df in [df1, df2, df3]];