Фильтр по БИН в Pandas - PullRequest
       5

Фильтр по БИН в Pandas

0 голосов
/ 29 февраля 2020

Итак, я создал несколько корзин для сумм в pandas кадре данных. Затем я хочу отфильтровать по корзинам, чтобы сделать что-то вроде этого:

df_ap['BINS'] == '(70000.0, 80000.0]'

Это не похоже на работу. Я ясно вижу это значение в моем фрейме данных. Я скопировал его с самого кадра данных. Я могу сгруппировать его, но я не могу отфильтровать это поле. Я что-то не так делаю?

1 Ответ

1 голос
/ 29 февраля 2020

Сравнить по Interval:

df_ap = pd.DataFrame({'A':[90000,50000,75000.0]})
df_ap['BINS'] = pd.cut(df_ap['A'], bins=np.arange(0, 100000, 10000).astype(float))
print (df_ap)
         A                BINS
0  90000.0  (80000.0, 90000.0]
1  50000.0  (40000.0, 50000.0]
2  75000.0  (70000.0, 80000.0]

print (pd.Interval(left=70000, right=80000))
(70000, 80000]

mask = df_ap['BINS'] == pd.Interval(left=70000, right=80000)
print (mask)
0    False
1    False
2     True
Name: BINS, dtype: bool
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...