'Get rows based on distinct values from one column

How can I get the rows by distinct values in COL2?

For example, I have the dataframe below:

COL1   COL2
a.com  22
b.com  45
c.com  34
e.com  45
f.com  56
g.com  22
h.com  45

I want to get the rows based on unique values in COL2:

COL1  COL2
a.com 22
b.com 45
c.com 34
f.com 56

So, how can I get that? I would appreciate it very much if anyone can provide any help.



Solution 1:[1]

You can use groupby in combination with first and last methods. To get the first row from each group:

df.groupby('COL2', as_index=False).first()

Output:

   COL2   COL1
0    22  a.com
1    34  c.com
2    45  b.com
3    56  f.com

To get the last row from each group:

df.groupby('COL2', as_index=False).last()

Output:

   COL2   COL1
0    22  g.com
1    34  c.com
2    45  h.com
3    56  f.com

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1