rof*_*ter 4 python duplicates dataframe pandas
在 Pandas 中,我可以使用
data.drop_duplicates('foo')
命令。我想知道是否有办法在另一个表中捕获这些数据以供独立审查。
drop_duplicates有一个同伴方法duplicated。他们都持有类似的论点。
关键论点是:
\n\nsubset- 列标签或标签序列\n\nkeep- { \xe2\x80\x98first\xe2\x80\x99,\xe2\x80\x98last\xe2\x80\x99,False}, 默认\xe2\x80\x98first\xe2\x80\x99当keep设置为\'first\':
drop_duplicatessubset返回一个数据帧,其中保留由 指定的列组合的第一次出现,并删除其余的。duplicated返回一个布尔掩码,其索引与原始数据帧具有相同的索引,对于指定列集的所有重复组合(除了\'first\'. 您可以使用此掩码来获取要删除的行或其补集(与 相同drop_duplicates)df = pd.DataFrame(list(\'abcdbef\'), columns=[\'letter\'])\ndf\ndf.drop_duplicates(keep=\'first\')  # same as default\ndf.duplicated(keep=\'first\')  # same as default\n\n0    False\n1    False\n2    False\n3    False\n4     True\n5    False\n6    False\ndtype: bool\n请注意,与第一个实例对应的行\'b\'是False,而第二个实例则True指示要删除它。
df[df.duplicated(keep=\'first\')]\nkeep=\'last\'和keep=Falsekeep以下是参数设置为\'last\'or时的示例False
删除重复项
\n\ndf.drop_duplicates(keep=\'last\')\ndf.duplicated(keep=\'last\')\n\n0    False\n1     True\n2    False\n3    False\n4    False\n5    False\n6    False\ndtype: bool\n这次,第一个实例True指示要删除它,而第二个实例指示False不要删除它。
只是重复项
\n\ndf[df.duplicated(keep=\'last\')]\n删除重复项
\n\ndf.drop_duplicates(keep=False)\ndf.duplicated(keep=False)\n\n0    False\n1     True\n2    False\n3    False\n4     True\n5    False\n6    False\ndtype: bool\n这次两个实例True都被删除。
只是重复项
\n\ndf[df.duplicated(keep=False)]\n您可以duplicated在foo列上调用该方法,然后根据它对原始数据框进行子集化,如下所示:
data.loc[data['foo'].duplicated(), :]
举个例子:
data = pd.DataFrame({'foo': [1,1,1,2,2,2], 'bar': [1,1,2,2,3,3]})    
data
# bar foo
#0  1   1
#1  1   1
#2  2   1
#3  2   2
#4  3   2
#5  3   2
data.loc[data['foo'].duplicated(), :]
# bar foo
#1  1   1
#2  2   1
#4  3   2
#5  3   2
| 归档时间: | 
 | 
| 查看次数: | 3800 次 | 
| 最近记录: |