Julia DataFrames:基于其他列创建新的数组列

Julia DataFrames:基于其他列创建新的数组列,dataframe,julia,Dataframe,Julia,我正在使用从csv读取的数据集。我有列p1、p2、p3和p4,我想将它们组合成一个列,其值为数组[p1 p2 p3 p4] ``` x=数据帧(randn(100,4)) 名字!(x,[:p1;:p2;:p3;:p4]) x[:测试]=x[:p1,:p2,:p3,:p4]] x不起作用 ``` 上述代码的结果在每一行数据中都有一个100x4 DataFrames.DataFrame 我看到了这个问题,但它没有解决如何添加一个新的数组列作为表中现有列的函数。分配给新列的值应该是一个向量,但是x[[

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

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

x[:测试]=x[:p1,:p2,:p3,:p4]] x不起作用 ```

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


我看到了这个问题,但它没有解决如何添加一个新的数组列作为表中现有列的函数。

分配给新列的值应该是一个向量,但是
x[[:p1,:p2,:p3,:p4]]
是一个数据帧,它将重复到数据帧的向量

我建议您使用元组而不是向量来获得更好的性能,可以通过以下代码实现:

x[:test] = collect(zip(x[:p1],x[:p2],x[:p3],x[:p4]))
如果您确实需要向量,以下代码可以帮助您:

x[:test] = map(collect, zip(x[:p1],x[:p2],x[:p3],x[:p4]))
(看起来有点棘手。收集元组返回向量)