Python 获取数组中等于给定值大小的值

这篇具有很好参考价值的文章主要介绍了Python 获取数组中等于给定值大小的值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

可能很多小伙伴看到这个标题会觉得很绕口,甚至可能会觉得这属于脱裤子放屁,多此一举,但是这里请大家耐心往下看,这篇文章将介绍一个在实际应用中比较常见的数据处理的示例。

正文

基础方法

比如,这里我们有一个 numpy 数组。

[1 2 3 4 5 6 7 8 9 0]

我们想要获取到它中间等于 5 的值。那么该怎么操作呢?

方法1

遍历整个数组进行查找并打印

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
num = 5
for element in arr:
    if element == num:
        print(element)
"""
result:
5
"""

当然,如果加上 enumerate 我们也可以顺带得到其对应的索引值。如下:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
num = 5
for index, element in enumerate(arr):
    if element == num:
        print(index, element)
"""
result:
4 5
"""

虽然我们得到了结果,但是显然这并不 Pythonic。

方法2------使用 np.where() 函数

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
num = 5
result = arr[np.where(arr == num)]
print(result)
"""
result:
[5]
"""

相比于之前,我们得到的是一个数组,而不再是一个数罢了。至于获取对应的索引值,只需要打印 np.where(arr == num) 即可,如下:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
num = 5
index = np.where(arr == num)
print(index)
"""
result:
(array([4], dtype=int64),)
"""

但是,这仍旧不是最简单的方式

方法3------数组操作

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
num = 5
result = arr[arr == num]
print(result)
"""
result:
[5]
"""

可以看到,我们也得到了想要的结果,看到这里,感觉还是在扯,别着急,看一个下面的例子。

示例1

在现实的例子中,往往我们的数组元素本身并不是一些整数,而是小数,比如:

[1.4465446, 2.5445116, 3.654451, 4.156154964, 5.516515, 6.1264847, 
7.126448, 8.1264984, 9.16154654, 0.54881651]

这时,我们想要获取到它们谁更加近似等于我们给定的数据 5 该怎么办呢?

import numpy as np

arr = np.array([1.4465446, 2.5445116, 3.654451, 4.156154964, 5.416515, 6.1264847, 7.126448, 8.1264984, 9.16154654, 0.54881651])
num = 5
result = arr[np.round(arr, 0) == num]
print(result)
"""
result:
[5.416515]
"""

到这里,是不是体会到了标题真正的含义了?有人也许会说,你这里如果是 5.5 几几几就找不到值了,然而这种担心是多余的,因为实际中,往往会存在很多个接近 5 的小数,总会有值的,如果没有,那说明确实也没有数字接近 5。

示例 2

更经典的一个示例是,如果我们有两组一一对应的数据,比如:

1 1.4465446
2 2.5445116
3 3.654451
4 4.156154964
5 5.416515
6 5.123546
7 5.461682
8 5.1565446
9 5.364588979
10 5.7845151

我们想要获取后面一列数字中接近 5 的值所对应的第一列数字的值,但是我们发现后面一列数字中有很多值满足条件,那么如何找出前一列中唯一对应的数字呢?

import numpy as np

index = np.arange(1, 11)
arr = np.array([1.4465446, 2.5445116, 3.654451, 4.156154964, 5.416515, 5.123546, 5.461682, 5.1565446, 5.364588979, 5.7845151])
num = 5
result = index[int(np.round(np.mean(arr[np.round(arr, 0) == num]), 0))]
print(result)
"""
result:
6
"""

至此,我们完全说清楚了这个问题。

如果大家觉得有用,就请点个赞吧~文章来源地址https://www.toymoban.com/news/detail-800256.html

到了这里,关于Python 获取数组中等于给定值大小的值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 线性代数|证明:矩阵特征值之积等于矩阵行列式的值

    性质 1 设 n n n 阶矩阵 A = ( a i j ) boldsymbol{A} = (a_{ij}) A = ( a ij ​ ) 的特征值为 λ 1 , λ 2 , ⋯   , λ n lambda_1,lambda_2,cdots,lambda_n λ 1 ​ , λ 2 ​ , ⋯ , λ n ​ ,则 λ 1 λ 2 ⋯ λ n = ∣ A ∣ lambda_1 lambda_2 cdots lambda_n = |boldsymbol{A}| λ 1 ​ λ 2 ​ ⋯ λ n ​ = ∣ A ∣ 。 证明 不妨设

    2024年02月08日
    浏览(50)
  • wps js宏获取工作簿、工作表、单元格的值、链接转图片、单元格区域数据转二维数组、保存工作簿的常用Excel操作

             首先说明js宏的全称是JavaScript for WPS,JavaScript语言可以简称js,通过名称知道js宏的本质是用JS语言调用WPS提供的Application对象模型,要求必须有js基础,跳过js直接学js宏会走很多弯路!!!         本篇介绍js操作Excel对象模型的常用方法,助你从vba转战js,这

    2024年02月12日
    浏览(58)
  • Python Selenium 获取元素属性的值@value、@onclick

    获取元素文本值: ele = driver.find_element_by_id(‘id’) value = ele.text() 获取alert弹框的文本内容: alert = driver.switch_to.alert text = alert.text 常见元素值获取:value ele = driver.find_element_by_id(‘id’) value = ele.get_attribute(“value”) 获取不常用属性值:onclick ele = driver.find_element_by_id(‘id’) v

    2023年04月26日
    浏览(47)
  • python 读取文件, 转化为 json 格式, 获取 json 中某个属性的值

    有以下文件 info.txt , 想要读取其中的 fileVideoId, 组成一个列表后返回. 运行结果:

    2024年02月09日
    浏览(46)
  • 猿创征文|【Python数据科学快速入门系列 | 05】常用科学计算函数

    这是机器未来的第44篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/126615267 本文以鸢尾花的数据预处理为例,描述了科学计算在机器学习使用的示例。 以鸢尾花数据集为例。 鸢尾花数据集有4个特征,1个标签,特征为sepal_length,sepal_width,petal_length,petal_width,分别

    2023年04月09日
    浏览(55)
  • Python科学计算利器:安装Scipy

    Python科学计算利器:安装Scipy Scipy是一个基于Python的开源科学计算库,它提供了许多高级数学函数、优化算法等工具,可以帮助用户快速进行各种数学运算和数据分析。本文将详细介绍如何在Python中安装Scipy。 安装Python 首先需要在电脑上安装Python。可以通过Python官网下载安装

    2024年02月12日
    浏览(41)
  • 【Python】科学计算库Scipy简易入门

    Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。 Scipy是由针对特定任务的子模块组成: 模块名 应用领域 scipy.cluster

    2024年02月06日
    浏览(48)
  • 【Python】数据科学工具(Numpy Pandas np.array() 创建访问数组 向量与矩阵 Series DataFrame)

    1.Numpy numpy是Python中一个非常重要的科学计算库,其最基础的功能就是N维数组对象——ndarray。 1.1 数组的创建 1)np.array() 用 np.array() 函数可以将Python的序列对象(如列表、元组)转换为ndarray数组。 2)arange、linspace、logspace np.arange(start, stop, step) :创建一个一维数组,其中的值

    2024年02月10日
    浏览(48)
  • 关于HSV了解这些就够了,python-opencv获取图片精确hsv的值

    有时候想要获得一幅图片里面 某个物体的精确的hsv的值,需要怎么做呢? 在输出的hsv的图像中,用鼠标左键点击,就可以知道那个点的精确的hsv的值     RGB 是我们接触最多的颜色空间,由三个通道表示一幅图像,分别为红色(R),绿色(G)和蓝色(B)。这三种颜色的不同组合可以

    2024年02月05日
    浏览(54)
  • 1、NumPy简介:开启Python科学计算之旅

    系列文章:Numpy系列文章-CSDN博客       目录 什么是 NumPy? 为什么要使用 NumPy? 安装和设置 NumPy 环境 开始使用 NumPy        在数据科学、人工智能和科学计算的世界中,Python 已经成为了一种主流的编程语言。这一现象的背后,有一个非常重要的推手,那就是 NumPy。Num

    2024年01月19日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包