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]];