dplyr的bind_cols和bind_rows的Julia等价表达式

pdsfdshx  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(128)

有没有Julia等价于dplyr的bind_cols和bind_rows的函数?具体来说,我正在寻找一个bind_rows函数,它将匹配列名而不管其顺序,并为不匹配的列填充NA
编辑:R两者的示例:

library(dplyr)
df1 = data.frame(a = 1, b = 1)
df2 = data.frame(b = 1, c = 1)
df3 = data.frame(c = 1, d = 1)

bind_rows(df1, df2)

   a b  c
1  1 1 NA
2 NA 1  1

bind_cols(df1, df3)

  a b c d
1 1 1 1 1
d6kp6zgx

d6kp6zgx1#

也许Julia的vcathcat函数将满足您的要求。

Dataframe 的代码.jl 1.4.4

julia> using DataFrames

julia> df1 = DataFrame(a = 1, b = 1)
1×2 DataFrame
 Row │ a      b
     │ Int64  Int64
─────┼──────────────
   1 │     1      1

julia> df2 = DataFrame(b = 1, c = 1)
1×2 DataFrame
 Row │ b      c
     │ Int64  Int64
─────┼──────────────
   1 │     1      1

julia> df3 = DataFrame(c = 1, d = 1)
1×2 DataFrame
 Row │ c      d
     │ Int64  Int64
─────┼──────────────
   1 │     1      1

julia> vcat(df1, df2, cols=:union)
2×3 DataFrame
 Row │ a        b      c
     │ Int64?   Int64  Int64?
─────┼─────────────────────────
   1 │       1      1  missing
   2 │ missing      1        1

julia> hcat(df1, df3)
1×4 DataFrame
 Row │ a      b      c      d
     │ Int64  Int64  Int64  Int64
─────┼────────────────────────────
   1 │     1      1      1      1

旧答案

julia> using DataFrames

julia> df1 = DataFrame(a = 1, b = 1)
1x2 DataFrames.DataFrame
| Row | a | b |
|-----|---|---|
| 1   | 1 | 1 |

julia> df2 = DataFrame(b = 1, c = 1)
1x2 DataFrames.DataFrame
| Row | b | c |
|-----|---|---|
| 1   | 1 | 1 |

julia> df3 = DataFrame(c = 1, d = 1)
1x2 DataFrames.DataFrame
| Row | c | d |
|-----|---|---|
| 1   | 1 | 1 |

julia> vcat(df1, df2)
2x3 DataFrames.DataFrame
| Row | a  | b | c  |
|-----|----|---|----|
| 1   | 1  | 1 | NA |
| 2   | NA | 1 | 1  |

julia> hcat(df1, df3)
1x4 DataFrames.DataFrame
| Row | a | b | c | d |
|-----|---|---|---|---|
| 1   | 1 | 1 | 1 | 1 |

相关问题