新手,我们正在尝试列出分组数据帧的项。 要突出显示问题,请参阅下面的简化示例。 首先将项目分组:
data = {'colour': ['red','purple','green','purple','blue','red'], 'item': ['hat','scarf','belt','belt','hat','scarf'], 'material': ['felt','wool','leather','wool','plastic','wool']}
df = pd.DataFrame(data=data)
grpd_df = df.groupby(df['item']).apply(lambda df:df.reset_index(drop=True))
grpd_df
colour item material
item
belt 0 green belt leather
1 purple belt wool
hat 0 red hat felt
1 blue hat plastic
scarf 0 purple scarf wool
1 red scarf wool
然后找到所有有红色项目的行
df = grpd_df[grpd_df['colour'].eq('red').groupby(level=0).transform('any')]
print (df)
colour item material
item
hat 0 red hat felt
1 blue hat plastic
scarf 0 purple scarf wool
1 red scarf wool
然后,我们想循环一下grpd\ U df中的项目列表,即帽子和围巾。我们尝试了df.index.levels
,但这会输出包括皮带在内的所有项目
您可以使用
IndexSlice
和get_level_values
来实现它如果需要来自df的索引级别
相关问题 更多 >
编程相关推荐