Onu*_*bek 3 syntax-error julia pluto.jl
我在 Julia 中有这个 for 循环:
begin
countries_data_labels = ["Canada", "Italy", "China", "United States", "Spain"]
y_axis = DataFrame()
for country in countries_data_labels
new_dataframe = get_country(df, country)
new_dataframe = DataFrame(new_dataframe)
df_rows, df_columns = size(new_dataframe)
new_dataframe_long = stack(new_dataframe, begin:end-4)
y_axis[!, Symbol("$country")] = new_dataframe_long[!, :value]
end
end
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
syntax: extra token ")" after end of expression
Run Code Online (Sandbox Code Playgroud)
我决定注释除第一个循环之外的所有 for 循环体,并在取消注释后每次都运行单元格以查看哪一行抛出了这个错误,它是体中的第 4 行:
new_dataframe_long = stack(new_dataframe, begin:end-4)
Run Code Online (Sandbox Code Playgroud)
没有理由存在此错误。该系列中没有额外的支架件。
我的猜测是你的意思是:
stack(new_dataframe[begin:end-4, :])
Run Code Online (Sandbox Code Playgroud)
请参阅下面的 MWE 示例:
julia> df = DataFrame(a=11:16,b=2.5:7.5)
6×2 DataFrame
Row ? a b
? Int64 Float64
??????????????????????
1 ? 11 2.5
2 ? 12 3.5
3 ? 13 4.5
4 ? 14 5.5
5 ? 15 6.5
6 ? 16 7.5
julia> stack(df[begin:end-3, :])
3×3 DataFrame
Row ? a variable value
? Int64 String Float64
????????????????????????????????
1 ? 11 b 2.5
2 ? 12 b 3.5
3 ? 13 b 4.5
Run Code Online (Sandbox Code Playgroud)