python - Pandas 根据另一列的值增加计数列

标签 python pandas

我有一个 df 是连接的结果:

   ID   count
0  A   30
1  A   30
2  B   5
3  C   44
4  C   44
5  C   44

我希望能够根据 ID 列迭代计数列。以下是所需结果的示例:

   ID   count
0  A   30
1  A   31
2  B   5
3  C   44
4  C   45
5  C   46

我知道有非 pythonic 的方法可以通过循环来做到这一点,但我想知道是否有更智能(并且更省时,因为这个表很大)的方法来做到这一点。

最佳答案

对组进行变换,得到一个累计计数,加到计数中,eg:

df['count'] += df.groupby('ID')['count'].cumcount()

给你:

  ID  count
0  A     30
1  A     31
2  B      5
3  C     44
4  C     45
5  C     46

关于python - Pandas 根据另一列的值增加计数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61015537/

相关文章:

python - 具有两个以上输入的 Keras 自定义指标

python - 跳转到 emacs 中的模型/ View / Controller

python - 如何按 ID 分组并用非空值标记第一行?

python - matplotlib 3D 按值范围绘制颜色编码

python - 如何将多列附加到前 3 列并使用 pandas 重复索引值?

python - 具有预定义权重的随机梯度下降分类器

python - 我正在使用递归来测试一个单词是否是回文。回文是向后相同的单词,例如 : race car

python - 自定义排列,对等分布

python - 如何从列中的值中删除重音?

python - Pandas 数据框,空或有 3 列进行 pickle