我要过滤两列“管理”和“州”列,并在州为加利福尼亚的位置打印值。
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
答案 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)]