我知道大型数据框中有重复的行,因为unique()会产生较小的数据帧。
我希望得到这些副本以帮助弄清楚他们来自哪里。
我看到了涉及早期版本重复的各种函数的引用,但不能使它们中的任何一个适用于.6
那么如何创建一个包含另一个数据框中包含的重复行的数据框?
答案 0 :(得分:6)
DataFrames具有nonunique
函数,该函数返回逻辑掩码,该逻辑掩码具有真值,其中行不是唯一的:
julia> df = DataFrame(X=rand(1:3, 10), Y=rand(10:13,10))
10×2 DataFrames.DataFrame
│ Row │ X │ Y │
├─────┼───┼────┤
│ 1 │ 2 │ 11 │
│ 2 │ 1 │ 10 │
│ 3 │ 2 │ 13 │
│ 4 │ 2 │ 13 │
│ 5 │ 2 │ 13 │
│ 6 │ 1 │ 10 │
│ 7 │ 2 │ 10 │
│ 8 │ 3 │ 13 │
│ 9 │ 2 │ 12 │
│ 10 │ 1 │ 11 │
julia> nonunique(df)
10-element Array{Bool,1}:
false
false
false
true
true
true
false
false
false
false
您可以使用find
将逻辑掩码转换为线性索引:
julia> find(nonunique(df))
3-element Array{Int64,1}:
4
5
6
答案 1 :(得分:0)
以@mbauman 为基础。您可能希望使用
显示实际数据 df[findall(nonunique(df)), :]