返回DataFrame pandas的索引

时间:2017-01-19 15:03:53

标签: python pandas

我得到了以下DataFrame:

System             R    System_num
0    CO           0.8           1
1    CO           0.9           1
2    CO           1.0           1
3    CO           1.2           1
4    CO           1.4           1
5    CO           0.8           2
6    CO           0.9           2
7    CO           1.0           2
8    CO           1.2           2
9    CO           1.4           2
10   CO           0.8           3

我想返回R = 1.4和System_num = 2的行的索引。 我试过了:

df.ix[df.System_num == 2 & df.R == 1.4].index 

虽然错误消息正在返回:

print df.ix[df.System_num == 2 & df.R == 1.4].index

     File "/apps/anaconda/lib/python2.7/site-packages/pandas/core/ops.py", line 834, in wrapper
        na_op(self.values, other),
      File "/apps/anaconda/lib/python2.7/site-packages/pandas/core/ops.py", line 805, in na_op
        x.dtype, type(y).__name__))
    TypeError: cannot compare a dtyped [float64] array with a scalar of type [bool]

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您应该在&运算符旁边使用括号。查看pandas documentation for indexing data。它说:

  

另一个常见的操作是使用布尔向量来过滤   数据。运营商是:| for or,&为和,和〜为没有。这些   必须使用括号进行分组。