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