我有一个像这样的数据框
package_num delivery_date
122 12/21
122 12/21
134 12/30
156 12/30
156 12/30
我希望能够在 python 上使用类似 MySQL row_number() 的东西。我想要一列行号从 1 开始并以 1 为增量递增,直到包号发生变化。所以我想要的结果是:
package_num delivery_date row_number
122 12/21 1
122 12/21 2
134 12/30 1
156 12/30 1
156 12/30 2
最佳答案
使用列表理解的一点扩展版本:
val = df.groupby('package_num').count().values.ravel()
df['row_numer'] = [j for i in val for j in range(1, i+1)]
关于python - 当另一列值更改时创建带有行号的列python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54016829/