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

Chu*_*son 3 julia

我知道大型数据帧中存在重复的行,因为unique()会导致较小的数据帧.

我想得到那些重复的东西,以帮助弄清楚它们的来源.

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

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

Mat*_* B. 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
Run Code Online (Sandbox Code Playgroud)

您可以将逻辑掩码转换为线性索引find:

julia> find(nonunique(df))
3-element Array{Int64,1}:
 4
 5
 6
Run Code Online (Sandbox Code Playgroud)

  • 对于那些希望删除重复行的人,请使用“unique”或“unique!”(变异)。 (2认同)