Панды, выбирающие строки в зависимости от условия - PullRequest
1 голос
/ 27 сентября 2019

Я хотел выбрать только те строки, которые удовлетворяют моему условию.

options = ['apple', 'banana','cat','dog'] 
#selecting rows based on condition 
rslt_df = data[(data['Animal'] == "All") & data['Category'].isin(options)]
print(rslt_df)

Но я получаю эту ошибку.

       #selecting rows based on condition
-----> rslt_df = data[(data['Animal'] == "All") & data['Category'].isin(options)]
       print(rslt_df)
       TypeError: invalid type comparison

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

Эта ошибка была в некоторых старых версиях pandas, решение обновляется до последней версии, а затем использует исходное решение:

rslt_df = data[(data['Animal'] == "All") & data['Category'].isin(options)]
0 голосов
/ 27 сентября 2019

Если вы предоставите пример DataFrame, мы можем проверить, почему у вас TypeError.Но если у вас одинаковые типы данных, это должно сработать.

mask = (data['Animal'] == "All") & (data['Category'].isin(options))
new_df = df.loc[mask]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...