Python 如何递增地计算数据帧中的每个不同值
假设我有下面的dfPython 如何递增地计算数据帧中的每个不同值,python,pandas,Python,Pandas,假设我有下面的df val 0 x 1 x 2 z 3 y 4 x 5 y 6 y 7 z 8 x 9 z 我想创建一个新列,以增量方式跟踪每个值的计数,如下所示 val new 0 x x1 1 x x2 2 z z1 3 y y1 4 x x3 5 y y2 6 y y3 7 z z2 8 x x4 9 z z3 我试着使用count,但那只是计算总数,而不是递增。value_counts的作用相同
val
0 x
1 x
2 z
3 y
4 x
5 y
6 y
7 z
8 x
9 z
我想创建一个新列,以增量方式跟踪每个值的计数,如下所示
val new
0 x x1
1 x x2
2 z z1
3 y y1
4 x x3
5 y y2
6 y y3
7 z z2
8 x x4
9 z z3
我试着使用count,但那只是计算总数,而不是递增。value_counts的作用相同,但只是按值分割,而不是递增。有没有一个简单的方法来实现这一点?谢谢 假设df是您的输入数据帧:
df[new]=df[val]+df.groupbyval[val].cumcount.add1.astypestr
产出:
瓦尔新
0 x x1
1 x x2
2ZZ1
3 y y1
4 x x3
5 y y2
6 y y3
7 z z2
8 x x4
9 z z3
假设df是您的输入数据帧:
df[new]=df[val]+df.groupbyval[val].cumcount.add1.astypestr
产出:
瓦尔新
0 x x1
1 x x2
2ZZ1
3 y y1
4 x x3
5 y y2
6 y y3
7 z z2
8 x x4
9 z z3