Python 根据第2列中的不同值获取行

Python 根据第2列中的不同值获取行,python,pandas,Python,Pandas,我是熊猫队的新手,尝试过在谷歌上搜索,但还是没有运气。如何通过column2中的不同值获取行 例如,我有下面的数据框: >>> df COL1 COL2 a.com 22 b.com 45 c.com 34 e.com 45 f.com 56 g.com 22 h.com 45 我想根据COL2中的唯一值获取行 >>> df COL1 COL2 a.com 22 b.com 45 c.com 34 f.com 56 那么,我怎样才能得到

我是熊猫队的新手,尝试过在谷歌上搜索,但还是没有运气。如何通过column2中的不同值获取行

例如,我有下面的数据框:

>>> df
COL1   COL2
a.com  22
b.com  45
c.com  34
e.com  45
f.com  56
g.com  22
h.com  45
我想根据COL2中的唯一值获取行

>>> df
COL1  COL2
a.com 22
b.com 45
c.com 34
f.com 56
那么,我怎样才能得到呢?如果有人能提供任何帮助,我将不胜感激。

使用指定列
COL2
检查重复项:

df = df.drop_duplicates('COL2')
#same as
#df = df.drop_duplicates('COL2', keep='first')
print (df)
    COL1  COL2
0  a.com    22
1  b.com    45
2  c.com    34
4  f.com    56
df = df.drop_duplicates('COL2', keep=False)
print (df)
    COL1  COL2
2  c.com    34
4  f.com    56
您还可以仅保留最后一个值:

df = df.drop_duplicates('COL2', keep='last')
print (df)
    COL1  COL2
2  c.com    34
4  f.com    56
5  g.com    22
6  h.com    45
或删除所有重复项:

df = df.drop_duplicates('COL2')
#same as
#df = df.drop_duplicates('COL2', keep='first')
print (df)
    COL1  COL2
0  a.com    22
1  b.com    45
2  c.com    34
4  f.com    56
df = df.drop_duplicates('COL2', keep=False)
print (df)
    COL1  COL2
2  c.com    34
4  f.com    56

道歉!我离开了2天,遇到了同样的问题,解决方案很好,但在删除重复项之前,我需要先按相关列对数据进行排序。我必须做
df=df.drop_duplicates(['COL2'])
。请注意,
'COL2'
位于
[]