gpt4 book ai didi

python - 在 pandas 中获取基于查询的选择的相应列的简洁方法

转载 作者:行者123 更新时间:2023-12-01 08:30:18 25 4
gpt4 key购买 nike

Current plot and anticipated plot

我是Python新手。我正在尝试从 https://github.com/ageron/handson-ml/blob/master/02_end_to_end_machine_learning_project.ipynb 获取住房指数数据集的子集

我已将数据集导入为“住房”。我试图在图的顶部仅绘制分位数 0.95 中的异常值,该图显示了median_house_value的所有值

import matplotlib.image as mpimg

housing.plot(kind="scatter", x="median_income", y="median_house_value",
alpha=0.1)

这得到了所有行(i)的图,我试图为中位数房屋值的子集(即0.95分位数)选择相应的中位数收入行,并将它们绘制在顶部橙色(j)

下面是我迄今为止最好的尝试,但没有得到正确的值

plt.plot(housing.groupby('median_house_value').quantile(q=quant)["median_income"], housing.groupby('median_house_value').quantile(q=quant).index.get_level_values('median_house_value'),"or")

我可以通过执行以下操作来获取分位数中的 mid_house_value 行..

quantile = int(round(housing["median_house_value"].quantile(q=0.95)))
housing.median_house_value > quantile

我想最终得到两个 panda 数组,一个用于 x 轴,一个与第二个数组对应的中位数收入行数组,第二个数组是构成分位数的中位数_房屋值行数组

提前致谢。

最佳答案

IIUC - 只需过滤您的主数据集,因为您有一个 bool 索引:housing["median_house_value"] > quantile

# REQUIRED THRESHOLD
quantile = int(round(housing["median_house_value"].quantile(q=0.95)))
# FILTER BY BOOLEAN
upper_housing = housing[housing["median_house_value"] > quantile]

# PLOTTING
housing.plot(kind="scatter", x="median_income", y="median_house_value", alpha=0.1, c='blue')

upper_housing.plot(kind="scatter", x="median_income", y="median_house_value", alpha=0.1, c='red')

plt.show()

关于python - 在 pandas 中获取基于查询的选择的相应列的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53934835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com