我已使用Python中的groupby按地区和年份对加入的客户数量进行了分组。但是我想从区域组中删除几个区域。
我知道,为了从groupby
中排除一组,您可以使用以下代码:
grouped = df.groupby(['Region'])
df1 = df.drop(grouped.get_group(('Southwest')).index).
因此,我最初尝试了以下方法:
grouped = df.groupby(['Region'])
df1 = df.drop(grouped.get_group(('Southwest','Northwest')).index)
但这给了我明显的错误('Southwest','Northwest')
。
现在,我想知道是否有一种方法可以一次删除多个组,而不必为要删除的每个区域重复键入以上代码。
答案 0 :(得分:0)
不是df1 = df.drop(grouped.get_group(('Southwest','Northwest')).index)
。 grouped.get_group
以一个名称作为参数。如果您要删除多个组,则可以使用df1 = df.drop((grouped.get_group('Southwest').index, grouped.get_group('Northwest').index))
,因为drop
可以将列表作为输入。
请注意,('Southwest')
的取值为'Southwest'
(即不是元组)。如果您要制作一个大小为1的元组,则为('Southwest', )