Как выбрать строки в кадре данных Pandas из столбца с категориальным типом, используя логический оператор - PullRequest
0 голосов
/ 25 апреля 2018

Если у меня есть столбец в кадре данных pandas, который является категориальным типом данных, как я могу выбрать строки с помощью логического оператора?

например, если у меня есть:

df = pd.DataFrame(np.random.randint(0,100,size=150), columns=['whatever'])
df_bins=np.linspace(df.min(),df.max(),101)
df['bin']=pd.cut(df.iloc[:,0],df_bins)

df ['bin'] - упорядоченный категориальный тип D. Как выбрать строки, интервалы которых, например, больше, чем определенное значение. Если я сделаю

df['bin']>50

Я получаю сообщение о том, что я не могу сравнить категориальное со скаляром.

1 Ответ

0 голосов
/ 25 апреля 2018

Используя IntervalIndex и left

pd.IntervalIndex(df['bin']).left>50
Out[28]: 
array([False, False, False,  True, False,  True, False, False,  True,
       False, False, False, False, False, False,  True,  True, False,
        True, False, False, False, False, False, False,  True, False,
       False,  True, False, False, False, False, False, False, False,
       False, False,  True, False,  True, False,  True,  True, False,
       False, False, False, False, False,  True, False, False,  True,
        True,  True,  True,  True, False, False, False, False, False,
       False, False,  True, False, False,  True,  True, False, False,
       False,  True,  True,  True, False,  True,  True,  True,  True,
       False,  True, False,  True,  True, False,  True,  True, False,
        True,  True, False,  True,  True, False,  True,  True,  True,
       False,  True,  True, False, False, False,  True, False,  True,
       False,  True,  True,  True, False,  True,  True, False, False,
       False,  True,  True,  True, False, False,  True, False,  True,
       False, False,  True, False,  True, False, False, False,  True,
       False,  True, False, False,  True, False,  True, False, False,
       False, False, False, False, False, False])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...