根据一列中的不同值获取行
- 2025-01-06 08:32:00
- admin 原创
- 120
问题描述:
我怎样才能通过不同的值获取行COL2
?
例如,我有以下数据框:
COL1 COL2
a.com 22
b.com 45
c.com 34
e.com 45
f.com 56
g.com 22
h.com 45
我想根据唯一值获取行COL2
:
COL1 COL2
a.com 22
b.com 45
c.com 34
f.com 56
那么,我怎样才能得到它?如果有人能提供帮助,我将不胜感激。
解决方案 1:
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
解决方案 2:
您可以groupby
结合使用first
和last
方法。要获取每个组的第一行:
df.groupby('COL2', as_index=False).first()
输出:
COL2 COL1
0 22 a.com
1 34 c.com
2 45 b.com
3 56 f.com
要获取每个组的最后一行:
df.groupby('COL2', as_index=False).last()
输出:
COL2 COL1
0 22 g.com
1 34 c.com
2 45 h.com
3 56 f.com
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD