Python 根据第2列中的不同值获取行
我是熊猫队的新手,尝试过在谷歌上搜索,但还是没有运气。如何通过column2中的不同值获取行 例如,我有下面的数据框: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 那么,我怎样才能得到
>>> 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'
位于[]