我有一个看起来像这样的df:
Name UnweightedBase Base exp1
Name
UnweightedBase 1046 1046 1046
Base 1046 1046 1046
ppola1 15 1,28% 1,28%
ppola2 9 1,21% 1,21%
ppola3 10 1,07% 1,07%
ppola4 46 5,32% 5,32%
ppola5 171 16,91% 16,91%
ppola6 36 4,01% 4,01%
ppola7 45 3,88% 3,88%
ppola8 28 2,63% 2,63%
ppola9 4 0,29% 0,29%
ppola10 178 17,76% 17,76%
我想基于索引标签列表构建2个单独的子dfs。 1个包含标签,1个不包含标签
这是我要检查的清单:
fixedlist = ["ppola8", "ppola9", "ppola10"]
我尝试创建这些子dfs:
1) included = df_raw.loc[exclude_list]
2) excluded = df_raw.loc[~exclude_list]
第一个“包括”的df工作,但第二个没有,我得到以下错误:
TypeError: bad operand type for unary ~: 'list'
我该如何解决?
最佳答案
您无法执行那样的尝试,因此会出现错误,因为一元运算符无法在列表上使用。
您可以通过做来实现自己想要的
excluded = df_raw[~df_raw.index.isin(exclude_list)]
内部语句将产生一个布尔索引,可用于索引您的df。