2014-10-07 37 views
1

排除给出行我有一个DF它看起来像这样:大熊猫的Python:排序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个seprate子DFS。 1,它包括不

继承人的名单我想核对标签和1:

fixedlist = ["ppola8", "ppola9", "ppola10"] 

我试图创建这些子DFS:

1) included = df_raw.loc[exclude_list] 
2) excluded = df_raw.loc[~exclude_list] 

包括1号” “df工作,但第二没有,我得到以下错误:

TypeError: bad operand type for unary ~: 'list' 

我该如何解决这个问题?

+1

做这项工作'排除= df_raw [〜df_raw.index.isin(exclude_list)]'? – EdChum 2014-10-07 10:32:32

+0

确实如此。我可以看到我现在出错了,谢谢埃德。 – 2014-10-07 10:34:50

回答

1

你不能做那样的尝试,因此错误,因为一元运算符不会在列表上工作。

您可以通过执行

excluded = df_raw[~df_raw.index.isin(exclude_list)] 

内声明将产生可用于索引你的DF一个布尔值指数达到你想要什么。