julia:在数据帧中查找重复的行

时间:2017-07-10 20:54:44

标签: julia

我知道大型数据框中有重复的行,因为unique()会产生较小的数据帧。

我希望得到这些副本以帮助弄清楚他们来自哪里。

我看到了涉及早期版本重复的各种函数的引用,但不能使它们中的任何一个适用于.6

那么如何创建一个包含另一个数据框中包含的重复行的数据框?

2 个答案:

答案 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)), :]