我有数据框,列名以数字开头,我想用以下代码删除列,但是有错误:
delete!(features, [:3SsnPorchH])
UndefVarError:未定义SsnPorchH
答案 0 :(得分:2)
您的问题是:3SsnPorchH
未正确解析为符号,但如下所示:
julia> :(:3SsnPorchH)
:($(QuoteNode(3)) * SsnPorchH)
当一个符号无法正确解析时,它通常会用来表示" name"括号内:
julia> :(3SsnPorchH)
:(3SsnPorchH)
您可以做的另一件事是直接使用Symbol
构造函数:
julia> Symbol("3SsnPorchH")
Symbol("3SsnPorchH")
(但我不确定这是不是一个好主意 - 也许你当时失去了实习生。)
话虽如此,为列提供一个有效的Julia标识符名称可能是个好主意。这使您可以使用DataFrame
构造关键字参数,并允许某些macros使用列标识变量。你会有一个更轻松的时间。