【发布时间】:2019-03-29 06:05:49
【问题描述】:
我有 DataFrames 的列名中有空格,因为它们生成的 CSV 文件的名称中也有空格。 DataFrames 是用这些行生成的
csvnames::Array{String,1} = filter(x -> endswith(x, ".csv"), readdir(CSV_DIR))
dfs::Dict{String, DataFrame} = Dict( csvnames[i] => CSV.File(CSV_DIR * csvnames[i]) |> DataFrame for i in 1:length(csvnames))
DataFrames 具有诸如“Tehtävä 1”之类的列名,但是当我尝试访问该列时,以下表达式都不起作用(这里 ecols 是一个数据框):
-
plot = axes.plot(ecols[Symbol("Tehtävä 1")])产生错误TypeError("float() argument must be a string or a number, not 'PyCall.jlwrap'") -
plot = axes.plot(ecols[:Tehtävä_1])产生错误ERROR: LoadError: ArgumentError: column name :Tehtävä_1 not found in the data frame; existing most similar names are: :Tehtävä 1 -
plot = axes.plot(ecols[:Tehtävä 1])引发错误ERROR: LoadError: MethodError: no method matching typed_hcat(::DataFrame, ::Symbol, ::Int64)
因此,我似乎无法绘制名称中包含空格的 DataFrame 列。打印它们效果很好,就像这条线
println(ecols[Symbol("Tehtävä 1")])
产生和浮动数组:[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],它应该这样做。 Matplotlib 是否与列名中带有空格的DataFrames 不兼容,如果是,我怎么能从 Julia DataFrame 的列中删除所有空格?
编辑
我忘了提到一个非常关键的点:DataFrame 包含 missing 值,这是 Matplotlib 无法理解的。这导致了错误 1。我仍然非常想知道是否有办法摆脱表列名称中的任何空格,可能是在构造 DataFrame 期间。
【问题讨论】:
标签: dataframe matplotlib julia compatibility removing-whitespace