【问题标题】:group by 2 columns python按2列python分组
【发布时间】:2022-07-21 22:12:30
【问题描述】:

我有一个形状的数据框:

 id | V
 1    0
 2    1
 3    0
 4    0
 1    0
 2    0
 4    1

其中 V 仅为 1 或 0 并且 id 可以有重复项。我想要的是每个 id 计算 0 和 1。上面的例子是

    1 : ('0':2,'1':0)
    4 : ('0':1,'1':1)
    3 : ('0':1,'1':0)
    2 : ('0':1,'1':1)

我不关心结果的格式,这只是一个例子。它可以是一个数据框,其中 0 和 1 作为列或其他。

有什么想法吗?

【问题讨论】:

  • 我猜到了pandas 标签。如果pandas 不正确,请更改,但要为框架添加一个标签,因为dataframe 不明确。

标签: python pandas dataframe


【解决方案1】:

您可以使用value_counts 方法。

例子:

df.groupby("id").V.value_counts()

【讨论】:

    【解决方案2】:

    获取 Json 格式。你可以这样做。

    df.groupby(['id','V'])['V'].count().unstack().T.fillna(0).astype(int).to_json()
    

    输出:

    {
      "1":{"0":2,"1":0},
      "2":{"0":1,"1":1},
      "3":{"0":1,"1":0},
      "4":{"0":1,"1":1}
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-25
      • 2015-03-06
      相关资源
      最近更新 更多