返回顶部
首页 > 资讯 > 后端开发 > Python >使用python 进行区间取值的方法
  • 716
分享到

使用python 进行区间取值的方法

2024-04-02 19:04:59 716人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

需求背景: 进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。 例如: 解决: # 根据值、比较list

需求背景:

进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。

例如:

解决:


# 根据值、比较list, 值list,返回区间值, other_value 即不在的情况
    def get_value_by_between(self, compare_value, compare_list, value_list, other_value, type="compare", left=False,
                             right=True):
        try:
            if compare_value is None or compare_value == '':
                return other_value
 
            if len(compare_list) != len(value_list):
                raise Exception("区间对比两个list长度不一致")
 
            # # 如果比较的值和其它情况值一致,说明是其它情况
            # if compare_value == other_value:
            #     return other_value
 
            # 左边开区间
            if compare_list[0] == -9999999 and compare_list[1] >= compare_value:
                return value_list[0]
 
            # 右边开区间
            if right is True and compare_value > compare_list[len(compare_list) - 1]:
                return value_list[len(compare_list) - 1]
            # 左边开区间
            # if left is True and compare_value <= compare_list[0]:
            #     return compare_value[0]
 
            for ind, this_val in enumerate(compare_list):
                # 如果是最后一个,则返回最后一个值
                if compare_value > compare_list[len(compare_list) - 1]:
                    return value_list[len(compare_list) - 1]
                # 返回默认的
                elif (ind + 1) == len(compare_list):
                    return other_value
 
                # 下一个,如果大于compare_list长度减1 ,就返回最后一个
                next_val = compare_list[ind if ind >= len(compare_list) else ind + 1]
                # 第一个的话就是 大于等于,小于下一个
                if ind == 0 and compare_value >= this_val and compare_value <= next_val:
                    return value_list[ind]
                # 大于左边,小于等于右边
                elif this_val < compare_value and compare_value <= next_val:
                    return value_list[ind]
        except:
            log.error("根据区间计算分数异常", traceback.fORMat_exc())
        return other_value

# 数字型
    def get_val_by_list(self, compare_value, compare_list, val_list, other_value):
        try:
            if compare_value is None:
                return other_value
 
            for ind, li in enumerate(compare_list):
                if len(li) == 1 and compare_value == li[0]:
                    return val_list[ind]
                # 最后一个
                elif len(li) == 1 and (ind + 1) == len(compare_list) and compare_value >= li[0]:
                    return val_list[ind]
                elif len(li) == 2 and compare_value >= li[0] and compare_value <= li[1]:
                    return val_list[ind]
        except:
            log.error(" get_val_by_list 异常", traceback.format_exc())
        return other_value

TEST


# creditTime 即值
self.get_val_by_list(creditTime, [[0],[1],[2],[3]], [20, 10, 0, -100],
                                                                   other_value=0)

self.get_value_by_between(taxCreditRating, [0, 60, 70, 80, 90],[-200, 0, 10, 20, 30], other_value=0)

如果是图2,即第三种情况,则需要多加一个0,和对应的值。


self.get_value_by_between(taxAmt12m, [0,0, 1000, 15000, 50000, 200000],[-50, -50, 0, 0, 5, 10], -0)

如果是负无穷大,则使用-999999

到此这篇关于使用python 进行区间取值的文章就介绍到这了,更多相关Python区间取值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 使用python 进行区间取值的方法

本文链接: https://lsjlt.com/news/131513.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用python 进行区间取值的方法
    需求背景: 进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。 例如: 解决: # 根据值、比较list...
    99+
    2024-04-02
  • 怎么使用python进行区间取值
    这篇文章主要讲解了“怎么使用python进行区间取值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用python进行区间取值”吧!需求背景:进行分值计算。如下图,如果只是一两个还好说,...
    99+
    2023-06-20
  • Python怎么进行区间取值
    这篇文章主要介绍“Python怎么进行区间取值”,在日常操作中,相信很多人在Python怎么进行区间取值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么进行区间取值”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • Python进行区间取值案例讲解
    需求背景: 进行分值计算。如下图,如果只是一两个还好说,写写判断,但是如果有几十个,几百个,会不会惨不忍睹。而且,下面的还是三种情况。 例如: 解决: # 根据值、比较lis...
    99+
    2024-04-02
  • vue组件之间进行传值的方法
    目录前言1.父组件向子组件进行传值2.子组件向父组件进行传值3.非父子组件之间的传值 总结前言 目前在做vue的项目,用到了子组件依赖其父组件的数据,进行子组件的相关请求和...
    99+
    2024-04-02
  • 如何$.ajax()方法进行网页间传值
    今天就跟大家聊聊有关如何$.ajax()方法进行网页间传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 ajaxte...
    99+
    2024-04-02
  • 利用Python抓取行政区划码的方法
    前言 国家统计局网站上有相对比较齐的行政区划码,对于一些网站来说这是非常基础的数据,所以写了个Python程序将这部分数据抓取下来。 注意:抓取下来以后还要进行简单的人工的整理 示例代码: # -*- ...
    99+
    2022-06-04
    行政区划 方法 Python
  • 利用python怎么进行区间运算
    在python中使用range函数进行区间运算,具体方法如下:例:计算某区间范围内的全部素数。def prime(m,n):list1=[]list2=[]for i in range(m,n+1):list1.append(i)for j...
    99+
    2024-04-02
  • 如何使用PHP进行时间区间查询
    在 Web 应用程序的开发中,对时间的处理是非常常见的工作之一。一个常见的需求是查询某个时间区间内的数据,比如查询某个时间段内的订单,或者统计某个时间段内的访问量等。本文将介绍如何使用 PHP 语言进行时间区间查询。首先,我们需要了解一下时...
    99+
    2023-05-14
    php
  • 怎么使用PHP进行时间区间查询
    本篇内容介绍了“怎么使用PHP进行时间区间查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,我们需要了解一下时间的数据类型。在 PHP...
    99+
    2023-07-05
  • Python进行数据提取的方法总结
    准备工作 首先是准备工作,导入需要使用的库,读取并创建数据表取名为loandata。 import numpy as np import pandas as pd loandata=pd.DataFr...
    99+
    2022-06-04
    方法 数据 Python
  • Python获取多进程执行的返回值
    Python获取多进程执行的返回值 众所周知,因为GIL的原因,Python至今不支持真正的多线程。为了达到并行运行的目的,我们往往就需要运行多进程了。 一个任务由一个进程来运行,可是它的结果怎么来获...
    99+
    2023-08-31
    python
  • Python 3中使用ARIMA进行时间
    最好的做法是,从笔记本电脑的顶部导入需要的库: import warnings import itertools import pandas as pd import numpy as np import statsmodels.api...
    99+
    2023-01-31
    时间 Python ARIMA
  • 如何运用bootice对磁盘进行分区?win7系统中使用bootice进行分区的方法
    Win7系统中如何使用bootice进行磁盘日常我们给电脑安装上win7系统后为了方便对文件的管理,需要对磁盘进行分区,此时分区的方法有很多种:比如使用bootice对磁盘进行分区,此方法简单,而且十分很容易上手掌握。需...
    99+
    2023-05-23
    win7磁盘分区 bootice磁盘分区
  • Python获取代码运行时间的几种方法
    Python获取代码运行时间的几种方法1、方法一:#python 的标准库手册推荐在任何情况下尽量使用time.clock().#只计算了程序运行CPU的时间,返回值是浮点数import timestart =time.clock()#中...
    99+
    2023-01-31
    几种方法 代码 时间
  • 使用Python获取字典键对应值的两种方法
    目录当知道字典的键时:当不知道字典的键时:附:字典dic最大值对应的键总结有两种方法 当知道字典的键时: unit_rooms={ 3:{301:[1,80],302:[1,80],...
    99+
    2024-04-02
  • Python获取多进程执行的返回值实现
    目录方法-1.方法-2.众所周知,因为GIL的原因,Python至今不支持真正的多线程。为了达到并行运行的目的,我们往往就需要运行多进程了。一个任务由一个进程来运行,可是它的结果怎么...
    99+
    2023-03-06
    Python获取多进程执行的返回值 python多进程获取返回值
  • Python如何获取多进程执行的返回值
    这篇文章主要介绍了Python如何获取多进程执行的返回值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何获取多进程执行的返回值文章都会有所收获,下面我们一起来看看吧。方法-1.第一种方法是记录在全...
    99+
    2023-07-05
  • Python中使用sklearn进行特征降维的方法
    目录特征降维特征选择过滤式①低方差特征过滤②相关系数③主成分分析特征降维 0维 标量 1维 向量 2维 矩阵 概念 降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组&ld...
    99+
    2023-05-17
    Python sklearn特征降维 Python sklearn Python特征降维
  • python字典取值的几种方法
            Python 字典(dictionary)是一种可变容器模型,可以存储任意数量的任意类型的数据。字典中的每个元素由一个键和一个值组成,键和值之间用冒号分隔。字典通常用于存储键值对的数据,例如在数据库中存储记录。   以下是 ...
    99+
    2023-09-06
    python Python字典 容器模型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作