熊猫数据框-基于不同条件的唯一计数

时间:2020-08-01 17:02:30

标签: pandas dataframe aggregate pandas-groupby unique

我有一个这样的数据框

screenshot

我想找出:

  • 独特的观众:3
  • 评论电影的独特观众:2

我可以使用以下代码来做到这一点:

provider "docker" {
  host = "npipe:////.//pipe//docker_engine"
}

resource "docker_image" "mysql" {
  name         = "mysql:8"
  //keep_locally = true
}

resource "docker_container" "mysql" {
  name    = "mysql"
  image   = docker_image.mysql.latest
        restart = "always"
  env     = [
    "MYSQL_ROOT_PASSWORD=root"
  ]
  volumes {
    volume_name    = "mysql-vol"
    container_path = "/var/lib/mysql"
  }
  ports {
    internal = 3306
    external = 3306
  }
}

provider "mysql" {
  endpoint = "127.0.0.1:3306"
  username = "root"
  password = "root"
}

resource "mysql_database" "test" {
  name      = "test"
  depends_on = [docker_container.mysql]
}

但是,我想知道是否有更好的方法将两者结合在一起,例如

movie['Viewer_ID'].nunique()

movie.loc[movie['watched']==1,:]['Viewer_ID'].nunique()

有什么办法可以在agg函数中写条件计数吗?

1 个答案:

答案 0 :(得分:0)

您可以使用.groupby()

view_count = movie.groupby('Viewer_id').watched.sum()

现在view_count是一个以观看者ID为索引,以观看者总和为值的系列。您可以使用以下过滤器:

filtered = view_count.loc[view.count > 0]