gpt4 book ai didi

python - 具有不同阈值的 pandas 数据帧上的多个 if 条件

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

我有一个带有多个参数的数据框:

par1      par2      par3      par4      par5       
1.122208 1.054132 1.133250 1.114845 1.183850
1.076445 1.128663 0.998518 1.081816 1.006934
1.077058 1.561871 1.045255 1.120456 1.768667
0.904869 1.183985 0.938095 0.927841 1.201934
0.876596 1.044014 0.877457 0.871429 0.990452
...

需要根据特定阈值检查每个参数的值。我需要检查上述参数中的至少两个是否高于上述阈值。哪些参数高于阈值并不重要,只要其中至少有两个即可。注意par1有一个threshold1,par2有一个threshold2等等,threshold1不同于threshold2,...,threshold5等等。

到目前为止,我已经编写了一个丑陋的嵌套 if 条件,但我想知道这里最好的方法是什么。

最佳答案

使用 Kelvin Ducray 的示例数据,我们可以将解决方案更进一步,避免 for-loop/apply,并使用 Pandas 的向量化操作,应该更快:

thresholds = pd.Series(thresholds)

# compare df with thresholds
# sum accross the booleans
# check True or False for >=2
above_thresholds = df.gt(thresholds).sum(1).ge(2)

df.assign(above_thresholds = above_thresholds)

par1 par2 par3 par4 par5 above_thresholds
0 1.122208 1.054132 1.133250 1.114845 1.183850 True
1 1.076445 1.128663 0.998518 1.081816 1.006934 False
2 1.077058 1.561871 1.045255 1.120456 1.768667 True
3 0.904869 1.183985 0.938095 0.927841 1.201934 False
4 0.876596 1.044014 0.877457 0.871429 0.990452 False

关于python - 具有不同阈值的 pandas 数据帧上的多个 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70313860/

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