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

imp*_*zee 21 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
Run Code Online (Sandbox Code Playgroud)

我想根据COL2中的唯一值获取行

>>> df
COL1  COL2
a.com 22
b.com 45
c.com 34
f.com 56
Run Code Online (Sandbox Code Playgroud)

那么,我该怎么做呢?如果有人能提供任何帮助,我将非常感激.

jez*_*ael 29

drop_duplicates与指定列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
Run Code Online (Sandbox Code Playgroud)

您也可以只保留最后的值:

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
Run Code Online (Sandbox Code Playgroud)

或删除所有重复项:

df = df.drop_duplicates('COL2', keep=False)
print (df)
    COL1  COL2
2  c.com    34
4  f.com    56
Run Code Online (Sandbox Code Playgroud)