【问题标题】:Adding counter based on values Python DataFrame基于值Python DataFrame添加计数器
【发布时间】:2018-11-30 18:29:16
【问题描述】:

我有以下 DataFrame df1

  Id      Date                Code
   1       10/20/2018      325
   1       10/20/2018      325
   1       10/20/2028      405

我想添加一个基于所有三个变量的计数器,以便我可以将它与其他 DataFrame 结合起来

期望的输出

 Id      Date                Code     Counter
   1       10/20/2018      325         1
   1       10/20/2018      325         2
   1       10/20/2028      405         1

我尝试了以下

 df1.groupby([‘id’,’Date’,’Code’]).size()

它没有给我想要的输出。感谢您的帮助

【问题讨论】:

  • 你试过cumsum吗?
  • cumsum 用于累积结果,但我需要的只是基于三个值的计数器
  • 对,脑残,试试cumcount

标签: python pandas group-by counter


【解决方案1】:

这能得到你想要的吗? cumcount 给出组内每一行的累积计数。

 df['cumcount'] = df.groupby(['Id','Date','Code']).cumcount()

【讨论】:

  • 谢谢凯尔。它只是给我索引和cumcout。我怎样才能将它与其他 DataFrame 变量一起使用?
  • 您可以将结果分配给新列。查看更新的答案。
猜你喜欢
  • 2021-03-27
  • 1970-01-01
  • 2015-08-18
  • 1970-01-01
  • 2020-05-07
  • 2021-05-07
  • 2022-01-01
  • 2019-08-29
  • 1970-01-01
相关资源
最近更新 更多