有没有更好的方法将多个数据帧列转换为 Julia 中的元组?

问题描述 投票:0回答:1

如果您“选择”Julia 数据帧的单个列,您将得到一个

Vector{T}
,其中
T
是该列的元素类型。

julia> typeof(unique(df[:, "string_column"))
String7 # for example

我不认为这里函数

unique
的存在有多大意义,我将其包含在内是为了更紧密地匹配我正在使用的代码。

如果包含两列,则返回的类型是数据框。

为了获得

Vector{something}
,我使用了带有
map
的 lambda 函数。

dfUnique = unique(df[:, [:ccy, :provider]])
collect(
    map(
        row -> Pair(row.ccy, row.provider),
        eachrow(dfUnique),
    )
)

我在这里选择了

Pair
,但它也可以很容易地成为一个元组。

有没有更简洁的方法来写这个?也许数据帧库中的某种方法可以执行此类转换?

dataframe julia
1个回答
0
投票

这是简短而甜蜜的:

tuple.(eachcol(df[!, [:col1, :col2, :col3]])...)
。你会得到一个
Vec{Tuple{T1, T2, T3}}

© www.soinside.com 2019 - 2024. All rights reserved.