Julia绘制箱线图无法读取含空格括号的CSV列名问题
错误原因
该报错由Julia的符号(Symbol)语法规则导致:仅无空格、无特殊字符的标识符可以直接用:标识符的格式声明符号;当列名包含空格、括号、$等特殊字符时,直接写:Annual Income (k$)不符合Julia语法规范,会被解析器识别为语法错误。
解决方案
方案1:直接构造带特殊字符的符号
不需要修改原有数据结构,通过Symbol()函数传入完整列名字符串生成对应符号即可,代码如下:
plot(df, x=Symbol("Annual Income (k$)"), kind="box")
方案2:提前重命名列(适合多次调用该列的场景)
如果后续需要频繁使用该列,可以先将DataFrame的列名重命名为无特殊字符的格式,简化后续调用:
# 重命名指定列 rename!(df, "Annual Income (k$)" => :AnnualIncome) # 重命名后直接调用新符号即可 plot(df, x=:AnnualIncome, kind="box")
两种方案均可正确读取对应列数据生成有效箱线图,不会触发语法错误或生成空图。
内容的提问来源于stack exchange,提问作者Jeremy S
相关产品推荐
相关产品推荐

