如何在熊猫中过滤具有特定值的两列

时间:2020-06-13 17:08:05

标签: pandas

我要过滤两列“管理”和“州”列,并在州为加利福尼亚的位置打印值。

df.head()

   R&D Spend  Administration  Marketing Spend       State     Profit
0  165349.20       136897.80        471784.10    New York  192261.83
1  162597.70       151377.59        443898.53  California  191792.06
2  153441.51       101145.55        407934.54     Florida  191050.39

我尝试过滤值,但仅得到布尔值。如何打印值?

df.loc[:,['Administration','State']].isin(['California'])

    Administration  State
0   False   False
1   False   True
2   False   False

2 个答案:

答案 0 :(得分:3)

您可以在any上使用axis=1,然后进行布尔索引:

df[df.loc[:,['Administration','State']].isin(['California']).any(1)]

或者仅两列['Administration','State']

df.loc[df['State'].isin(['California']),['Administration','State']] #or.eq() for 1 value

答案 1 :(得分:2)

如果只有一列,则可以执行eq

df[df[['Administration','State']].eq('California').any(1)]