我想创建一个查看DataFrame的每一列并返回一个布尔值的函数,所以我最终得到一个布尔数组。这是代码
# some random dataframe
df = DataFrame([1:3, 4:6])
# a function that returns an array of boolean
function some_bool_fn(df)::Array{Bool}
array_of_arrays = colwise(df) do sdd3
# for illustration only
return true
end
array = [a[1] for a in array_of_arrays]
return array
end
# calling the function
some_bool_fn(dd3)
除了找到
行外,这个有效 array = [a[1] for a in array_of_arrays]
有点浪费。基本上我得到一个数组数组作为colwise
的输出,所以我不得不将数组数组放入一个简单的bool数组中。有没有办法编写代码,以便我可以避免这行代码?
答案 0 :(得分:3)
正如@Gnimuc评论的那样,这种行为正在改变。
如果你看一下主分支:https://github.com/JuliaData/DataFrames.jl/blob/master/src/groupeddataframe/grouping.jl#L241你会看到另一个版本。你可以复制它:
mycolwise(f, d::AbstractDataFrame) = [f(d[i]) for i in 1:ncol(d)]