代码之家  ›  专栏  ›  技术社区  ›  PyRsquared

如何使用另一个pandas系列从pandas数据帧返回索引列表?

  •  0
  • PyRsquared  · 技术社区  · 6 年前

    我正在使用 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() ?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Will    6 年前
    query = df.index[(df.sqft_area_binned == desiredBin) & (df.price > upperPriceBound)]