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

时间:2017-04-29 11:08:47

标签: 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

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

1 个答案:

答案 0 :(得分:23)

使用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

您也可以只保留最后一个值:

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', keep=False)
print (df)
    COL1  COL2
2  c.com    34
4  f.com    56