在DataFrame" data_to_rank"中,我有一个列" r_DTS"。 data_to_rank [' r_DTS']显示:
>>> b = data_to_rank.groupby(['r_DTS'])
>>> for key, group in b: print(key)
Bottom
2
Top
Missing
当我这样做时:
>>> a = data_to_rank.groupby(['GRADE','r_DTS'])
>>> for key, group in a: print(key)
('HY', 'Bottom')
('HY', '2')
('HY', 'Top')
('IG', 'Bottom')
('IG', '2')
('IG', 'Top')
然而,当我按照&rbsp;< rdTS'与其他变量,"失踪" in" r_DTS" disapear。
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding LoadedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
(&#39; HY&#39;,&#39; Missing&#39;)和(&#39; IG&#39;,&#39; Missing&#39;)
答案 0 :(得分:1)
按分类分组时,它包括分组中的所有类别,甚至是没有分组的类别。
当您按多个项目进行分组时,即使所有项目都是分类dtypes,它也不会授予您相同的权限。
您必须构建自己的分类才能分组。这是如何做到这一点的一个例子:
cats = pd.MultiIndex.from_product([
data_to_rank.GRADE.cat.categories,
data_to_rank.r_DTS.cat.categories,
]).map(tuple)
categorical_to_group_by = pd.Categorical(
data_to_rank[['GRADE', 'r_DTS']].apply(tuple, 1), cats
)
g = data_to_rank.groupby(categorical_to_group_by)
for name, group in g:
print(name)
('HY', 'Bottom')
('HY', 2)
('HY', 'Top')
('HY', 'Missing')
('IG', 'Bottom')
('IG', 2)
('IG', 'Top')
('IG', 'Missing')