建立一个增量列表并在条件改变时重置它——在最后旋转它

build a incremental list and reset it when condition changes - pivot it at the end

我正在尝试创建一个基于组的增量列表,并在每次组更改时重置它。在那之后,我想旋转 table,并使用该增量列表作为索引

table = [['marco', 5, 'brasil','2022-05-01'],
         ['isa', 8, 'eua','2022-05-02'],
         ['maria', 5, 'chile','2022-05-03'],
         ['fernanda', 8, 'brasil','2022-05-01'],
         ['marco', 5, 'chile','2022-05-02']]

df = pd.DataFrame(table, columns = ['Name', 'Age', 'Country', 'Birthday'])
df.set_index('Birthday', inplace=True)
df.sort_values('Birthday', axis=0, ascending=True)

df['count']= df.groupby(df['Birthday'].cumsum()).cumcount()

Current output

期望的输出

Desired output

最终结果应该是一个枢轴table using

df_pivot = df.pivot(index='count', columns='Birthday', values='Name')

Final result

df=df.sort_values('Birthday', axis=0, ascending=True)
df['Month']=df['Birthday'].apply(lambda x: x[6:]) # get month and use group by on this

df['count']=(df.groupby('Month').cumcount())+1

df.pivot(index='count', columns='Birthday', values='Name')

我无法让计数器自动工作,我用了cumcount())+1