У меня есть фрейм данных, как показано ниже.
df = pd.DataFrame(columns=pd.MultiIndex.from_arrays([
['A','A','C','A'],
['A','A','C','A'],
['Company','Company','Company','Name']]))
df
Затем я хочу выполнить cumcount для столбцов mutiindex. У меня есть решение от друга. Но это не учитывается столбец уровня 2. Код следующий:
s = pd.DataFrame(df.columns.tolist())
cond = s.groupby(0).cumcount()
print(cond)
Результат cond: [0, 1, 0, 2]. Но это не то, что я хочу, очевидно, он не учитывает нижний уровень индекса столбца. Результат, который я ищу, будет [0, 1, 0, 0]
Как я могу этого добиться? Спасибо.