<p>我有一张这样的桌子</p>
<pre><code>id id2 val
a red apple
a red orange
b blue fish
c violet beef
a yellow banana
a black pork
</code></pre>
<p>我想根据id和id2的值创建一个计数器。你知道吗</p>
<p>例如,id是客户id,id2是订单id,val是订单中的项目名称。我想为customer id和order id创建一个counter,这就是为什么前两行应该有相同的counter 1</p>
<p>我试过cumcount,但他们会给我这样的东西</p>
<pre><code>id id2 val counter
a red apple 1
a red orange 2
b blue fish 1
c violet beef 1
a yellow banana 1
a black pork 1
</code></pre>
<p>我试过cumcount</p>
<p><code>df['counter'] = df.groupby(['id','id2']).cumcount() + 1</code></p>
<p>但这不是我想要的</p>
<p>我想要这样的结果表</p>
<pre><code>id id2 val counter
a red apple 1
a red orange 1
b blue fish 1
c violet beef 1
a yellow banana 2
a black pork 3
</code></pre>
<p>谢谢你</p>