gpt4 book ai didi

python - 建立一个函数来根据截止值删除数据集中的最小值和最大值?

转载 作者:太空宇宙 更新时间:2023-11-03 20:40:51 25 4
gpt4 key购买 nike

我有一个数据框。对于几列,我想删除小于和大于特定截止值的值。

例如:我想删除“价格”列数据小于 500 且大于 20000 的行,以及“区域”列数据小于 20 且大于 1000 的行

截止看起来像这样:[('price', 500, 20000), ('area', 20, 1000)]

我需要在 python 中构建一个函数来执行此操作。

data = data_frame
cut = cutoffs

for a in range(len(cut)):
data = data[data[cut[a][0] >= cut[a][1]]]

for b in range(len(cut)):
data = data[data[cut[b][0] <= cut[b][2]]]
return data

这没有按我预期的方式工作。一些我需要如何组合小于和大于条件但无法弄清楚

最佳答案

既然您提到cutoffs可以有更多行,您可以这样做:

for name, min, max in cutoffs:
df = df[~(df[name] < min) & ~(df[name] > max)]

如果您想要相同的功能,请尝试:

def apply_cutoffs(df, cutoffs)
for name, min, max in cutoffs:
df = df[~(df[name] < min) & ~(df[name] > max)]
return df

这样调用它:

df = apply_cutoffs(df, cutoffs)

关于python - 建立一个函数来根据截止值删除数据集中的最小值和最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876781/

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