我正在尝试连接与此类似的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])
但是我的输入可以是可变的,因为我可以具有不同数量的列,并且我希望将其所有内容逐行连接。
关于如何实现这一目标的任何建议?将该列添加到原始数据框也没关系,如果有帮助的话。
非常感谢
答案 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
中)