如何简单地枚举 pandas 中多索引中的子级别?

How can I enumerate a sublevel in a multiindex in pandas simply?

我想创建一个新列,其中包含基于 Name

中的成员资格的对象列枚举
Name Objects
A phone
B phone
B keys
B chewing gum
C radio
C chewing gum

进入

Name Object no. Objects
A 1 phone
B 1 phone
B 2 keys
B 3 chewing gum
C 1 radio
C 2 chewing gum

我想应该有一个非常简单的方法来做到这一点

您可以尝试 groupy 然后 cumcount

df['Object no.'] = df.groupby('Name').cumcount().add(1)
print(df)

  Name      Objects  Object no.
0    A        phone           1
1    B        phone           1
2    B         keys           2
3    B  chewing gum           3
4    C        radio           1
5    C  chewing gum           2