i have a table in my pandas dataframe. df
id count price
1 2 100
2 7 25
3 3 720
4 7 221
5 8 212
6 2 200
id count price
1 2 100
4 7 221
df[df['count'] == '2' & df['price'] == '100']
TypeError: cannot compare a dtyped [object] array with a scalar of type [bool]
You nedd add ()
because &
has higher precedence than ==
:
df3 = df[(df['count'] == '2') & (df['price'] == '100')]
print (df3)
id count price
0 1 2 100
If need check multiple values use isin
:
df4 = df[(df['count'].isin(['2','7'])) & (df['price'].isin(['100', '221']))]
print (df4)
id count price
0 1 2 100
3 4 7 221
But if check numeric, use:
df3 = df[(df['count'] == 2) & (df['price'] == 100)]
print (df3)
df4 = df[(df['count'].isin([2,7])) & (df['price'].isin([100, 221]))]
print (df4)