2015-11-01 115 views
0

这实在是微不足道,但无法相信我已经为一个小时左右徘徊,仍然可以找到答案,所以在这里你是:如何大熊猫数据帧选择行基于类别

df = pd.DataFrame({"cats":["a","b"], "vals":[1,2]}) 
    df.cats = df.cats.astype("category") 
    df 

df looks like this

我的问题是如何选择其“猫”列的类别是“a”的行。我知道df.loc[df.cats == "a"]可以工作,但它基于元素上的平等。有没有一种方法可以根据类别的级别进行选择?

回答

1

这工作:

df.cats[df.cats=='a'] 

UPDATE

的问题进行了更新。新解决方案:

df[df.cats.cat.categories == ['a']] 
+0

谢谢。它可以工作,但它不是我想要的。有没有一种方法可以根据不属于该值的类别来选择行。 – Skywalker326