Python NumPy之索引怎么使用


这篇文章主要讲解了“PythonNumPy之索引怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PythonNumPy之索引怎么使用”吧!NumPy 或 Numeric Python 是一个用于计算同质 n 维数组的包。在 numpy 维度中称为轴。出现了一个问题,当 python 列表已经存在时,为什么我们需要 NumPy。答案是我们不能直接对两个列表的所有元素执行操作。例如,我们不能直接将两个列表相乘,我们必须逐个元素地进行。这就是 NumPy 发挥作用的地方。示例 #1:输出 :TypeError: can’t multiply sequence by non-int of type ‘list’因为这可以通过 NumPy 数组轻松完成。示例 #2:输出 :array([10, 18, 24, 28, 30, 30])python的numpy包具有以不同方式索引的强大功能。索引可以通过使用数组作为索引在 numpy 中完成。在切片的情况下,返回数组的视图或浅表副本,但在索引数组中返回原始数组的副本。Numpy 数组可以用其他数组或任何其他序列索引,但元组除外。最后一个元素由 -1 索引,第二个由 -2 索引,依此类推。示例 #1:输出 :A sequential array with a negative step:
[10 8 6 4 2]

Elements at these indices are:
[4 8 6]示例 #2:输出 :Elements are:
[2 4 7]有两种类型的索引:考虑语法 x[obj],其中 x 是数组,obj 是索引。切片对象是基本切片情况下的索引。当 obj 为 时发生基本切片:形式为 start : stop : step 的切片对象一个整数或切片对象和整数的元组基本切片生成的所有数组始终是原始数组的视图。代码#1:输出 :Array is:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]

a[-8:17:1] = [12 13 14 15 16]

a[10:] = [10 11 12 13 14 15 16 17 18 19]代码#2:输出 :Array is:
[[0 1 2 3 4 5]
[6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]
[24 25 26 27 28 29]
[30 31 32 33 34 35]]

a[0, 3:5] = [3 4]

a[4:, 4:] = [[28 29],
[34 35]]

a[:, 2] = [2 8 14 20 26 32]

a[2:;2, ::2] = [[12 14 16],
[24 26 28]]下图让概念更清晰:省略号也可以与基本切片一起使用。省略号 (…) 是 : 对象的数量,需要创建一个长度与数组维度相同的选择元组。输出 :[[ 2 5]
[ 8 11]]当 obj 为 – 时触发高级索引整数或布尔类型的 ndarray或具有至少一个序列对象的元组是一个非元组序列对象高级索引返回数据的副本而不是它的视图。高级索引有整数和布尔两种类型。纯整数索引: 当整数用于索引时。第一维的每个元素都与第二维的元素配对。所以本例中元素的索引为 (0,0),(1,0),(2,1) 并选择相应的元素。输出 :[1 3 6]结合高级索引和基本索引当索引中至少有一个切片 (:)、省略号 (…) 或 newaxis 时(或者数组的维度多于高级索引),则行为可能会更复杂。这就像连接每个高级索引元素的索引结果在最简单的情况下,只有一个高级索引。例如,单个高级索引可以替换切片,结果数组将是相同的,但是,它是一个副本并且可能具有不同的内存布局。如果可能,切片是优选的。输出 :[4, 5]
[4, 5]了解情况的最简单方法可能是根据结果形状进行思考。索引操作有两个部分,由基本索引(不包括整数)定义的子空间和来自高级索引部分的子空间。需要区分两种索引组合的情况:高级索引由切片、省略号或 newaxis 分隔。例如x[arr1, :, arr2].高级索引都彼此相邻。例如x[..., arr1, arr2, :],但不是x[arr1, :, 1]因为 1 在这方面是一个高级索引。在第一种情况下,高级索引操作产生的维度首先出现在结果数组中,然后是子空间维度。在第二种情况下,来自高级索引操作的维度被插入到结果数组中与它们在初始数组中相同的位置(后一种逻辑使简单的高级索引的行为就像切片一样)。布尔数组索引这个索引有一些布尔表达式作为索引。返回满足该布尔表达式的那些元素。它用于过滤所需的元素值。代码 #1输出 :[80 100]代码 #2输出 :[1600 6400])代码 #3输出 :ar免费云主机域名ray([[ 5, 5], [16, 4]])感谢各位的阅读,以上就是“PythonNumPy之索引怎么使用”的内容了,经过本文的学习后,相信大家对PythonNumPy之索引怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: php如何转换int

本篇内容介绍了“php如何转换int”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! php转换int的方法:1、创建一个PHP示例文件;2、确定要转换的值;3、…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 03/31 10:56
Next 03/31 10:56

相关推荐