I am still new to Julia and I am a bit confused about how loop through the columns of a data frame and check their type. I have looked into the documentation and couldn’t find any clarification yet, so I am posting this here.
For the sake of discussion, let’s say I want to check the type of each column in a data frame and perform an operation on those that are not String (perhaps I should say that don’t contain elements of type String). Would the following snippet be correct (in Julia v1.4.1 with DataFrames v0.20.2)?
using DataFrames df = DataFrame(text = ["a", "b", "c"], num1 = [1, 3, 5], num2 = [2.0, 4.0, 6.0]) for nm in names(df) if eltype(df[!, nm]) != String df[!, nm] = df[!, nm]./100 end end
What would be the best practice to accomplish this?
Incidentally, and I beg pardon in advance for asking this in the wrong category, in VS Code v1.44.2, the word “df” in
eltype(df[!, nm]) and
df[!, nm]./100 has an underlying yellow/orange wavy line (the editor claims “
Missing reference: df Julia(Julia)”), as well as it shows a wawy reddish underlying line from
String to the equal after
df[!, nm] in the next line (in this case it throws a “
Parsing error Julia(Julia)” message). Why is that the case? Are these warnings/errors? The code runs just fine without any message from Julia though…
versioninfo() Julia Version 1.4.1 Commit 381693d3df* (2020-04-14 17:20 UTC) Platform Info: OS: Windows (x86_64-w64-mingw32) CPU: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-8.0.1 (ORCJIT, skylake)