[3,-9,-3], "C"=>[3,0,6], "D"=>-6ren">
gpt4 book ai didi

dataframe - 如何删除 Julia 中只有正值的数据框列?

转载 作者:行者123 更新时间:2023-12-05 08:25:05 27 4
gpt4 key购买 nike

我正在使用 Julia 并尝试编辑 DataFrame。我的目标是保留其中至少一个值为 <=0 的列。

例如使用代码

using DataFrames

data = Dict("A"=>[1,7,2],
"B"=>[3,-9,-3],
"C"=>[3,0,6],
"D"=>[8,4,2],
"E"=>[4,3,-4])

df = DataFrame(data)

我得到以下结果

enter image description here

我正在尝试将其转换为以下 DataFrame

enter image description here

有一些选项可以根据条件删除行,但我还没有找到对列有相同作用的选项。

有谁知道如何以简单的方式做到这一点?

最佳答案

有很多方法可以做到这一点,因为 DataFrames 提供了 Julia base 的全部灵 active ,但在我看来,一种简单且明确的方法是:

julia> data[!, any.(<=(0), eachcol(data))]
3×2 DataFrame
Row │ B E
│ Int64 Int64
─────┼──────────────
1 │ 3 4
2 │ -9 3
3 │ -3 -4

我还要补充一点,您不必创建 Dict 来创建 DataFrame,构造函数可以与 String 一起正常工作/向量对:

julia> data = DataFrame("A"=>[1,7,2], 
"B"=>[3,-9,-3],
"C"=>[3,0,6],
"D"=>[8,4,2],
"E"=>[4,3,-4])
3×5 DataFrame
Row │ A B C D E
│ Int64 Int64 Int64 Int64 Int64
─────┼───────────────────────────────────
1 │ 1 3 3 8 4
2 │ 7 -9 0 4 3
3 │ 2 -3 6 2 -4

关于dataframe - 如何删除 Julia 中只有正值的数据框列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68675457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com