Python Pandas, возвращающие строки с несколькими условиями - TypeError: неподдерживаемые типы операндов для &: 'str' и 'str' - PullRequest
0 голосов
/ 20 сентября 2018

Я новичок в python и pandas в целом, но у меня возникла проблема, когда я хочу изменить столбец во всех строках, которые соответствуют списку условий.Код, который я сейчас использую:чтобы сгруппировать их вместе, я получаю сообщение об ошибке:

ipdb> print ((raw_table[raw_table['id'] > id_]) & (raw_table[raw_table['type name'].str.replace(' ', '') == tableName]))
*** TypeError: unsupported operand type(s) for &: 'str' and 'str'

Есть ли лучший способ сделать это, которого я еще не нашел, или мой синтаксис отключен?Заранее благодарю за любую помощь!

1 Ответ

0 голосов
/ 20 сентября 2018

IIUC, вам нужно заключить условия в скобки при применении нескольких условных фильтров к вашему фрейму данных:

raw_table[(raw_table['id'] > id_) & (raw_table['type name'].str.replace(' ', '') == tableName) & (raw_table['ordinal'] > ordinal_)]['type name'] = newTableName

или более разборчиво:

cond1 = raw_table['id'] > id_
cond2 = raw_table['type name'].str.replace(' ', '') == tableName
cond3 = raw_table['ordinal'] > ordinal_

raw_table[(cond1) & (cond2) & (cond3)]['type name'] = newTableName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...