我有一个包含3列和大量行的数据框
A B C D E
aa hi 43 21 22 45
ab helo 44 65 86 94
ac hola 42 71 91 44
ad hi 12 79 45 12
ae hey 81 14 34 42
af hi 21 45 12 02
ag hola 04 12 39 65
我想删除A列中的所有多次出现,保留第一行并消除其余部分,所以我希望数据框如下
A B C D E
aa hi 43 21 22 45
ab helo 44 65 86 94
ac hola 42 71 91 44
ae hey 81 14 34 42
答案 0 :(得分:1)
使用带有参数subset
的{{3}}作为检查对象的列:
df = df.drop_duplicates(subset=['A'])
#same as keep='first', because default value can be omited
# df = df.drop_duplicates(subset=['A'], keep='first')
print (df)
A B C D E
aa hi 43 21 22 45
ab helo 44 65 86 94
ac hola 42 71 91 44
ae hey 81 14 34 42
也可以只保留最后一行:
df = df.drop_duplicates('A', keep='last')
print (df)
A B C D E
ab helo 44 65 86 94
ae hey 81 14 34 42
af hi 21 45 12 2
ag hola 4 12 39 65