gpt4 book ai didi

dataframe - Julia 数据帧 : create new column of arrays based on other columns

转载 作者:行者123 更新时间:2023-12-03 22:44:23 25 4
gpt4 key购买 nike

我正在使用从 csv 读取的数据集。我有列 p1、p2、p3 和 p4,我想将它们组合成一个列,其值为数组 [p1 p2 p3 p4]。

``
x = DataFrame(randn(100,4))
名字!(x, [:p1; :p2; :p3; :p4])

x[:test] = x[[:p1, :p2, :p3, :p4]]
x # 不起作用
``

上面代码的结果在每一行数据中都有一个 100x4 的 DataFrames.DataFrame。

我看到这个问题 Julia dataframe where a column is an array of arrays?但它没有解决如何添加新的数组列作为表现有列的函数。

最佳答案

分配给新列的值应该是一个向量,但 x[[:p1, :p2, :p3, :p4]]是一个 DataFrame,它会重复到一个 Vector of DataFrames。

我建议您使用 Tuple 而不是 Vector 以获得更好的性能,可以通过以下代码实现:

x[:test] = collect(zip(x[:p1],x[:p2],x[:p3],x[:p4]))

如果您确实需要 Vector,此代码可以提供帮助:
x[:test] = map(collect, zip(x[:p1],x[:p2],x[:p3],x[:p4]))

(看起来有点棘手。收集一个元组返回一个向量)

关于dataframe - Julia 数据帧 : create new column of arrays based on other columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36816829/

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