Julia:列值的计数频率(非数字列的唯一值)
我试图找到列的唯一值Julia:列值的计数频率(非数字列的唯一值),julia,Julia,我试图找到列的唯一值 countmap(df[:column_name]) 但是得到了错误 ArgumentError: syntax df[column] is not supported use df[!, column] instead DataFrame是一个二维对象,因此您无法使用一个索引(您尝试使用df[:column\u name]对其进行索引)。您应该获得如下属性: countmap(df.column_name) 或者如果您更喜欢使用字符串 countmap(df.&qu
countmap(df[:column_name])
但是得到了错误
ArgumentError: syntax df[column] is not supported use df[!, column] instead
DataFrame
是一个二维对象,因此您无法使用一个索引(您尝试使用df[:column\u name]
对其进行索引)。您应该获得如下属性:
countmap(df.column_name)
或者如果您更喜欢使用字符串
countmap(df."column_name")
或者,如果要使用索引,则必须使用两个索引:行选择器和列选择器,因此:
countmap(df[:, :column_name])
或
工作。区别在于,df[!,:column\u name]
访问列而不复制它,而df[:,:column\u name]
进行复制。另外请注意,您也可以在此处使用字符串而不是Symbol
s,如df[!,“column\u name”]
或df[!,“column\u name”]
所有索引到数据框的规则都有描述。知道这是一个新的更新吗?我确信我已经选择了这种格式的列
df[:colName]
。但是今天我也犯了这个错误,它已经被弃用很长时间了。问题是您可能正在使用Julia 1.5,它默认情况下禁用了弃用警告。在DataFrames.jl 0.22中,此不推荐被删除,现在尝试这样的索引将抛出一个错误。在DataFrames.jl软件包开发的早期,随着软件包API的成型,允许使用df[:col]
样式。然而,现在API已经稳定下来了:1)这种风格与包设计不一致,2)没有方便的理由保留它,因为df.col
的编写时间更短。
countmap(df[!, :column_name])