我需要从数据集中删除重复的行。基本上,我应该执行
proc sort data=mydata noduprecs dupout=mydata_dup;run;
我需要删除重复项,并将这些重复的行保存在单独的dataframe
中。我怎么能这样做?
答案 0 :(得分:0)
假设您的数据集是一个pandas数据帧。
删除重复的行:
data = data.drop_duplicates()
选择所有重复的行:
dup = data.ix[data.duplicated(), :]
希望它有所帮助。
答案 1 :(得分:0)
来自Pandas docs的几个例子:
object_id
默认情况下,它会根据所有列删除重复的行。
> df = pd.DataFrame({
'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
'rating': [4, 4, 3.5, 15, 5]
})
> df
brand style rating
0 Yum Yum cup 4.0
1 Yum Yum cup 4.0
2 Indomie cup 3.5
3 Indomie pack 15.0
4 Indomie pack 5.0
要删除特定列上的重复项,请使用子集。
> df.drop_duplicates()
brand style rating
0 Yum Yum cup 4.0
2 Indomie cup 3.5
3 Indomie pack 15.0
4 Indomie pack 5.0
要删除重复项并保留最后一次出现,请使用 keep。
> df.drop_duplicates(subset=['brand'])
brand style rating
0 Yum Yum cup 4.0
2 Indomie cup 3.5