Julia DataFrame操作:连接数据行内容

时间:2019-03-13 20:57:05

标签: dataframe julia

我正在尝试连接与此类似的DataFrame行的内容:

DataFrame(a=["aa","ab","ac"], year=[2015,2016,2017])

a       year
aa      2015 
ab      2016 
ac      2017

所需的输出将是将行单元格的内容转换为字符串

output
aa2015
ab2016
ac2017

我发现此代码朝着正确的方向工作:

df[:c] = map((x,y) -> string(x, y), df[:a], df[:year])

但是我的输入可以是可变的,因为我可以具有不同数量的列,并且我希望将其所有内容逐行连接。

关于如何实现这一目标的任何建议?将该列添加到原始数据框也没关系,如果有帮助的话。

非常感谢

1 个答案:

答案 0 :(得分:3)

您可以使用eachrow来实现:

julia> df = DataFrame(rand('a':'z', 5,5))
5×5 DataFrame
│ Row │ x1   │ x2   │ x3   │ x4   │ x5   │
│     │ Char │ Char │ Char │ Char │ Char │
├─────┼──────┼──────┼──────┼──────┼──────┤
│ 1   │ 'l'  │ 'p'  │ 'y'  │ 't'  │ 'n'  │
│ 2   │ 'p'  │ 'y'  │ 'y'  │ 'r'  │ 's'  │
│ 3   │ 'y'  │ 'a'  │ 'o'  │ 'c'  │ 'a'  │
│ 4   │ 'k'  │ 't'  │ 'q'  │ 's'  │ 'q'  │
│ 5   │ 'a'  │ 'c'  │ 'w'  │ 'f'  │ 'v'  │

julia> join.(eachrow(df))
5-element Array{String,1}:
 "lpytn"
 "pyyrs"
 "yaoca"
 "ktqsq"
 "acwfv"

(这里我刚刚创建了一个新矢量-如果需要,您当然可以将其添加到DataFrame中)