当前位置: 首页 > 知识库问答 >
问题:

根据来自一列的不同值获取行

牧宁
2023-03-14

如何在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

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

共有2个答案

周楷
2023-03-14

您可以将Groupby第一个最后一个方法结合使用。要从每个组中获取第一行:

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
高山
2023-03-14

使用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
 类似资料:
  • 我根据列生成了一个唯一的值,但我想得到的结果是来自不同列的转换值。下面是代码供您参考: 获取唯一值 预期结果:

  • 问题内容: 我有交易数据框。每行代表两个项目的交易(可想而知,就像两张事件票之类的交易一样)。我想根据售出的数量重复每一行。 这是示例代码: 这将产生一个看起来像这样的数据框 因此,在上述情况下,每一行将转换为两个重复的行。如果“数量”列为3,则该行将转换为三个重复的行。 问题答案: 首先,我使用整数而不是文本重新创建了您的数据。我还更改了数量,以便可以更轻松地理解问题。 我通过使用嵌套列表理解结

  • 问题内容: 我有一张桌子叫: 每个都与一个不同的表相关,field的值指定了我要用于该表的表的名称。所有目标表都有几个相似的列: 当前,我正在使用此查询来选择通知,通知它们在目标表中存在相关行,并且其字段为: 但是由于它是a ,如果它与任何表都不匹配,它将返回通知,我该如何重写它,以便它不返回与目标表中的任何行都不匹配的通知?我也尝试了不成功的声明。 问题答案: 我不是100%肯定语法正确,并且现

  • 我有以下表在PostgreSQL 11. 我想得到具有col1,col2,col3和col4的不同值的行,如果col1,col2,col3相同,则取col1的第一个值。 期望的输出是: 我试着回答以下问题。 如何将输出限制为每col2,col3.获得一个col1值。。例如,选择col1值:3876,不包括3924。

  • 问题内容: 我正在尝试根据多个条件来计算不同的值。 下面包括样本数据练习。 可以在多个测试中找到给定的错误,对于同一测试(例如:6)可以找到多次,或者两者(例如:5)都可以找到。 以下查询可以很好地准确交付“ Total Bugs” 我的研究使我对以下查询产生了变化。 他们错过了独特的错误,因此对于“打开错误”列返回错误的结果(显示在查询下方) 当然,我的最终结果必须在一个表中同时提供两个计数列(

  • 我有这个实体(为简洁起见省略注释): 我必须得到一个不同的值的列表为一个特定的 在我的JpaRepository中我有以下内容: 如果没有注释,则返回ID,而不是值。生成的SQL如下所示: 但我需要的是不同的类别,而不是产品实体。除此之外,我在上面添加了注释。但现在我得到了这个错误: 但是我不能将添加到结果列表中,因为这会使无效,因为是主键。 所以我要么需要一个合适的方法名来自动生成查询,要么需要