如何在Julia数据框中按名称删除多列?

3
维基百科文档中提到,delete!可以用于一组列,但我无法理解如何在单个步骤中按名称删除多列。

我也尝试使用列表推导式,但仍然出现了错误(而对于多个数据框只有它才有效):

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

有任何提示吗?
2个回答

0

非常有趣的讨论。它让我想起了C指针和C *运算符..感谢您指引我到那里。 - Antonello

0

嗯,看来在SO上写作给了我灵感:

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

或者

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

(我还需要理解在Julia中这个奇怪的符号是什么意思,我的错误..;-)


1
当在字母前使用时,它表示该项是一个符号。像DataFrames这样的包使用符号来表示列名,而不是字符串(也称为“a”)。如果在类似a[1,:]的情况下使用,则:代表所有的概念,因此这将返回第一行中的每一列。 - Alejandro Braun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接