这是数据框
big = pd.DataFrame({'group': ['A', 'A', 'A','A', 'B','B','C','D','D', 'D'], 'animal': ['ALL other', 'cat','rabbit', 'dog', 'rabbit','ALL other', 'ALL', 'ALL other', 'dog','cat']})
big
group animal
0 A ALL other
1 A cat
2 A rabbit
3 A dog
4 B rabbit
5 B ALL other
6 C ALL
7 D ALL other
8 D dog
9 D cat
规则是,如果该组中有兔子,则挑出该组,如果动物是“所有”,则挑出所有动物并将其视为兔子,如果该组中没有兔子,则挑出“所有其他”并将其视为兔子。
小数据框如下
group animal
0 A rabbit
1 B rabbit
2 C ALL
3 D ALL other
1条答案
按热度按时间k4ymrczo1#
首先过滤DataFrame以仅保留rabbit/ALL/ALL other,然后利用rabbit按字典顺序排在ALL之后这一事实来获得
groupby.max
:作为一种通用方法,将“animal”设置为有序的
Categorical
,您将能够选择任何自定义顺序。输出: