我有一个Pandas数据框,其中包含以下数据:
ID year_month_id Class
1 201612 A
2 201612 D
3 201612 B
4 201612 Other
5 201612 Other
6 201612 Other
7 201612 A
8 201612 Other
9 201612 A
1 201701 B
因此,一个ID在特定月份可以属于任何一个班级,下个月他的班级可能会改变。 现在我想做的是为每个ID获取它已经属于某个班级的月份数以及最新属于的班级。如下所示:
ID Class_A Class_B Class_D Other Latest_Class
1 2 3 4 0 B
2 12 0 0 0 D
我该如何在Python中实现这个功能? 有人能帮我吗? 另外,由于真实数据集非常庞大,手动验证是不可能的,那么我该如何获取属于多个类别的ID列表?
pivot
在这里是一个不错的选择,我猜应该是最快的。 - cs95count
作为aggfunc,填充零(确切地说是这种情况)时,值得考虑使用pd.crosstab
。 - jo9k