我正在使用
kaggle house price dataset
,我有以下代码计算四分位范围
#Â 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
现在我想返回一个id列表(中的第一列
df
何处
sqft_area_binned
要么是
在下面
相应的
lower
或
在上面
相应的
upper
.
例如,如果一栋房子
东风
有
sqft_area_binned=(276.75, 2940.0]
和
price
>946000.0,然后返回
id
.
这怎么可能呢,也许用过滤或者
.isin()
?