Логический оператор Pandas & не работает, но 'и' работает - PullRequest
0 голосов
/ 27 ноября 2018

У меня проблема с логическими операторами в пандах.Если я попытаюсь:

list1=['x','y']
if st1=='A' & str2 not in list1: #do stuff

Я получу:

unsupported operand type(s) for &: 'str' and 'bool'", u'occurred at index 0

Но это работает: почему?

if st1=='A' and str2 not in list1: #do stuff

Все, что я сделал, это изменил & на и.

1 Ответ

0 голосов
/ 27 ноября 2018

& и and - это не одно и то же в Python - & - побитовый оператор, and - логический оператор.Смотрите предыдущие ответы здесь и здесь и Википедии страницы о побитовых операциях.

В пандах вы можете использовать & для логических операций, когдавыбор подмножеств DataFrames, например:

df = pd.DataFrame(data={"col1":[1,2,3], "col2":[2,3,4]})
df[(df["col1"]>1) & (df["col2"]<4)] # Selects second row based on boolean criteria
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...