Как вернуть список индексов из кадра данных панд, используя другой ряд панд? - PullRequest
0 голосов
/ 08 июня 2018

Я использую набор данных kaggle цена дома , и у меня есть следующий код, который вычисляет межквартильные диапазоны

# bin by area
df['sqft_area_binned']=pd.cut(x=df['sqft_living'], bins=5)
q1 = df.groupby(['sqft_area_binned'])['price'].quantile(0.25)
q3 = df.groupby(['sqft_area_binned'])['price'].quantile(0.75)
iqr = q3 - q1
upper = q3 + 1.5*iqr
lower = q1 - 1.5*iqr
print(upper)
>>>
sqft_area_binned
(276.75, 2940.0]        946000.0
(2940.0, 5590.0]       1900000.0
(5590.0, 8240.0]       4332500.0
(8240.0, 10890.0]     10210500.0
(10890.0, 13540.0]    10410000.0
Name: price, dtype: float64

Теперь я хочу вернуть список идентификаторов (первый столбец вdf), где sqft_area_binned это либо ниже , соответствующее lower, либо выше соответствующее upper.

Например, если дом (одинстрока в df) имеет sqft_area_binned=(276.75, 2940.0] и price> 946000.0, затем возвращает id.

Как это возможно, возможно, с использованием фильтрации или .isin()?

1 Ответ

0 голосов
/ 08 июня 2018
query = df.index[(df.sqft_area_binned == desiredBin) & (df.price > upperPriceBound)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...