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

仅包括一个id有2个标志的id(PANDAS)

金泉
2023-03-14

我有以下名为df的数据帧,我想将该数据帧子集为只有列is_signup有1和0的ID。下面的示例将删除id=1,因为它只有1(而不是0)。

id   tag         is_signup
1    Button      1 
1    Circle      1
2    Button      1 
2    Circle      0
2    Diamond     1 
3    Circle      0
3    Button      1 

预期产出:

id   tag         is_signup
2    Button      1 
2    Circle      0
2    Diamond     1 
3    Circle      0
3    Button      1 

我怎么能这么做?我想一个团体会有帮助?但不确定如何正式地进行

共有2个答案

钮出野
2023-03-14

还可以使用groupby-filter检查is_signup.nunique():

df.groupby('id').filter(lambda x: x.is_signup.nunique() == 2)

#    id      tag  is_signup
# 2   2   Button          1
# 3   2   Circle          0
# 4   2  Diamond          1
# 5   3   Circle          0
# 6   3   Button          1
缑智敏
2023-03-14

由于列is_signup是一个二进制值,并且只能有两个可能的值,因此我们可以在这里使用nuniquegroupby+transform,然后在vaue为2(1和0)时进行布尔索引检查:

df[df['is_signup'].groupby(df['id']).transform('nunique').eq(2)]
   id      tag  is_signup
2   2   Button          1
3   2   Circle          0
4   2  Diamond          1
5   3   Circle          0
6   3   Button          1
 类似资料:
  • 问题内容: 我遇到了一个场景,为元素赋予属性可以轻松解决问题。然而,阅读后在元素W3Schools的和怪异模式,似乎这样做可能有一些无法预见的后果。 有没有人遇到诸如Chrome,Safari,FF3 up和IE 7 up之类的浏览器中的任何这些问题? 问题答案: 在目前所有的浏览器中都可以。 唯一出错的浏览器是Netscape 4,很久很久以前我们就停止在乎它。 该quirksmode页面似乎已

  • 这里会有什么问题吗? 这是我的主要类和我的main.xml,以及我使用的一个相关类(您还会在底部找到错误日志) 主类 main.xml

  • 问题内容: 在一页中为多个元素提供相同的ID是否安全?例如,当使用某些jquery插件,两次或多次运行某些滑块或图库时,通常会发生这种情况。我们知道,开发人员喜欢给html容器一些ID,以使脚本工作更快。 让我们阅读w3.org文档: 使ID类型的属性特别的原因是,没有两个这样的属性可以具有相同的值。无论使用哪种文档语言,ID属性都可以用来唯一标识其元素。 但是下一个示例具有2个具有相同ID的元素

  • 问题内容: 我有一个table(),其中2个column(和)是id。这些对应名称的名称在带有列的另一个表()中。 假设我只是在使用,那么简单的内部联接就可以解决我在获取名称时遇到的问题。 如 但是,如果我希望该名称也要解析为什么?“内部连接”会将其解析为? 我知道以上查询是错误的。我可以得到那些对应于两个第和用? -初学者 问题答案: 我建议始终为表和列添加别名。因此,您将确定选择了哪些数据。

  • 描述 (Description) 当多个标签描述元素时,您必须在aria-describedby属性中放置多个ID。 例子 (Example) 以下示例演示如何在Foundation中使用multiple labels 。 <html> <head> <title>Label Multiple IDs</title> <link rel = "stylesheet"

  • 我用socket.io通过nodejs和angular4编写了代码。我使用过2种不同的浏览器,我检查了连接和socket.io给了2个不同的socket.id,但是当发出2个浏览器时,却是从1个id发出的! 应用程序中的代码.js 代码发出 客户端的代码侦听 我所有的代码 初始化app.js 在chat.js路由添加新消息后发送聊天