bet*_*eta 8 python duplicates dataframe pandas
我有一个pandas数据帧如下:
A B C
1 2 x
1 2 y
3 4 z
3 5 x
Run Code Online (Sandbox Code Playgroud)
我希望在特定列中只有一行共享相同值的行.在上面的例子中,我指的是A列和B列.换句话说,如果列A和B的值在数据帧中出现不止一次,则只应保留一行(哪一行无关紧要).
FWIW:所谓的重复行的最大数量(即,列A和B相同)是2.
结果应该像这样说:
A B C
1 2 x
3 4 z
3 5 x
Run Code Online (Sandbox Code Playgroud)
要么
A B C
1 2 y
3 4 z
3 5 x
Run Code Online (Sandbox Code Playgroud)
jez*_*ael 19
drop_duplicates与参数一起使用,subset仅保留最后重复的行keep='last':
df1 = df.drop_duplicates(subset=['A','B'])
#same as
#df1 = df.drop_duplicates(subset=['A','B'], keep='first')
print (df1)
A B C
0 1 2 x
2 3 4 z
3 3 5 x
Run Code Online (Sandbox Code Playgroud)
df2 = df.drop_duplicates(subset=['A','B'], keep='last')
print (df2)
A B C
1 1 2 y
2 3 4 z
3 3 5 x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15597 次 |
| 最近记录: |