根据第 2 列的不同值获取行 [英] Get Rows based on distinct values from Column 2

查看:36
本文介绍了根据第 2 列的不同值获取行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是熊猫的新手,尝试在谷歌上搜索这个,但仍然没有运气.如何通过 column2 中的不同值获取行?

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

<预><代码>>>>df列1 列2a.com 22b.com 45c.com 34电子商务 45f.com 56g.com 22h.com 45

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

<预><代码>>>>df列1 列2a.com 22b.com 45c.com 34f.com 56

那么,我怎样才能得到它?如果有人能提供任何帮助,我将不胜感激.

解决方案

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

df = df.drop_duplicates('COL2')#与...一样#df = df.drop_duplicates('COL2', keep='first')打印 (df)列1 列20 a.com 221 b.com 452 c.com 344 f.com 56

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

df = df.drop_duplicates('COL2', keep='last')打印 (df)列1 列22 c.com 344 f.com 565 g.com 226 h.com 45

或删除所有重复项:

df = df.drop_duplicates('COL2', keep=False)打印 (df)列1 列22 c.com 344 f.com 56

I am a newbie to pandas, tried searching this on google but still no luck. How can I get the rows by distinct values in column2?

For example, I have the dataframe bellow:

>>> df
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

>>> df
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.

解决方案

Use drop_duplicates with specifying column COL2 for check duplicates:

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

You can also keep only last values:

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

Or remove all duplicates:

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

这篇关于根据第 2 列的不同值获取行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆