First of all I would like to apologize if my question is too elementary. Although I have some experience with MS Excel VBA I am still a beginner at general use programming languages. Also, I would like to apologize for any misspelling, since English is not my first language.
Since I needed to do some rather complex string wrangles I decided to try Python last year so I would have more flexibility to code than in Excel and I really liked it. One problem arouse though, when I was facing a fuzzy logic problem for string matching in very large texts (and with loops). Pyhton was not handling the calculations well and was taking literally hours do finish my scripts.
So I decided to try Julia, and found the performance was indeed better, so I adopted the language as my working tool. The problem I have is that I like to work with dataframes which in my opinion is what better emulates the nice data visualization of Excel while allowing the flexibility of general programming languages.
Pandas was great and I could visualize data very well. DataFrames.jl is good, but the fact that it keeps omitting columns when displaying Data Frames kind of annoys me. For some of my dataframes even setting the Notebook ENV[“COLUMNS”] for huge values wont show all columns. Of course I could do show(df allcols = true), but that renders a really ugly and somewhat confusing vision of the DataFrame.
So searching the net I read about this Julia package (TableView.jl) that could render Julia data in a good way. After facing all kind of problems installing the package I finally was able to install it without warnings (actually I was having problem installing one of its dependencies, WebIO, which I think that I solved - or at least didnt throw me any more warnings).
But the problem is I just cannot use TableView.jl with dataframes. When I try
using DataFrames, TableView
A = rand(30, 20)
d = DataFrame(A)
showtable(d)
it throws me the following exception:
> MethodError: no method matching eachcolumn(::Tables.ColumnsRow{NamedTuple{(:x1, :x2, :x3, :x4, :x5, :x6, :x7, :x8, :x9, :x10, :x11, :x12, :x13, :x14, :x15, :x16, :x17, :x18, :x19, :x20),NTuple{20,Array{Float64,1}}}})
> Closest candidates are:
> eachcolumn(!Matched::Union{Function, Type}, !Matched::Tables.Schema{names,nothing}, !Matched::Any) where names at C:\Users\marco\.julia\packages\Tables\okt7x\src\utils.jl:109
> eachcolumn(!Matched::Union{Function, Type}, !Matched::Tables.Schema{names,types}, !Matched::Any) where {names, types} at C:\Users\marco\.julia\packages\Tables\okt7x\src\utils.jl:66
>
> Stacktrace:
> [1] table2json(::Tables.RowIterator{NamedTuple{(:x1, :x2, :x3, :x4, :x5, :x6, :x7, :x8, :x9, :x10, :x11, :x12, :x13, :x14, :x15, :x16, :x17, :x18, :x19, :x20),NTuple{20,Array{Float64,1}}}}, ::NTuple{20,Symbol}, ::NTuple{20,DataType}; requested::Nothing) at C:\Users\marco\.julia\packages\TableView\kqtYa\src\TableView.jl:210
> [2] table2json at C:\Users\marco\.julia\packages\TableView\kqtYa\src\TableView.jl:204 [inlined]
> [3] _showtable_sync!(::WebIO.Scope, ::NTuple{20,Symbol}, ::NTuple{20,DataType}, ::Tables.RowIterator{NamedTuple{(:x1, :x2, :x3, :x4, :x5, :x6, :x7, :x8, :x9, :x10, :x11, :x12, :x13, :x14, :x15, :x16, :x17, :x18, :x19, :x20),NTuple{20,Array{Float64,1}}}}, ::Array{NamedTuple{(:headerName, :editable, :headerTooltip, :field, :sortable, :resizable, :type, :filter),Tuple{Symbol,Bool,DataType,Symbol,Bool,Bool,String,String}},1}, ::Int64, ::Bool, ::String, ::WebIO.JSString) at C:\Users\marco\.julia\packages\TableView\kqtYa\src\TableView.jl:145
> [4] showtable(::DataFrame; dark::Bool, height::Symbol, width::String, cell_changed::Nothing) at C:\Users\marco\.julia\packages\TableView\kqtYa\src\TableView.jl:139
> [5] showtable(::DataFrame) at C:\Users\marco\.julia\packages\TableView\kqtYa\src\TableView.jl:62
> [6] top-level scope at In[11]:1
I have tried to uninstall and reinstall both TableView and WebIO (Pkg.rm(“TableView”) Pkg.add(“TableView”), the same for “WebIO”) and I also tried to rebuid them (Pkg.build(“TableView”), Pkg.build(“WebIO”)) but to no avail.
I would also like to mention how straightforward were all my Python installations using conda install or pip install. Also, differences in documentation, TableView documentation, for instance, is rather shallow. Altough I understand that right now Python is a much more mature language (and Julia will catch up eventually) it might turn Julia in a somewhat intimidating language, especially for begginers like myself.
For what is worth it my editor is Jupyter Notebook version 6.0.3 (installed with Anaconda), my Julia kernel is version 1.4.0 and my OS is Windows 10.
Thank you in advance.