如何在NumPy下索引与切片?索引与切片的用法

这篇文章主要讲解了“如何在NumPy下索引与切片?索引与切片的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着我的思路慢慢深入,一起来研究和学习“NumPy下的索引与切片的用法”吧!

如何在NumPy下索引与切片?索引与切片的用法

文章插图
在我们使用NumPy包进行索引和切片时,学会使用这种操作是最重要也是我们平时使用到最多的 。数据处理和机器学习的前提是必须非常熟悉的使用NumPy切片操作,所以一定要掌握好 。掌握好之后你 可以看到它们会比Python来说更加方便、简介和强大 。
索引和切片
你可以选择使用和切片 Python列表相同的方法,对NumPy数组进行索引和切片 。例如:
data = np.array([1, 2, 3,4]) data[1]2
data[0:2]array([1, 2])data[1:]array([2, 3])data[-2:]array([2, 3])NumPy在某些情况下使用起来就会简单很多,比如在需要获取数组的其中部分或特殊的数组元素,以便在下一步分析或其他情况下中使用 。为此,需要对数组进行子集、切片和/或索引 。如果你还想从数组中选择满足特殊条件的值也可以使用这种方式 。
例如,如果从这个数组开始:
a = np.array([[1 , 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])【如何在NumPy下索引与切片?索引与切片的用法】打印数组中小于8的所有值
print(a[a < 8])[1 2 3 4 5 6 7]
还可以选择等于或大于8的数字,并使用该条件对数组进行索引 。
hh = (a >= 8)print(a[hh])[ 8  9 10 11 12]
可以选择可被2整除的元素:
 A= a[a%2==0] print(A)[ 2  4  6  8 10 12]
或者可以使用&和|运算符选择满足两个条件的元素:
C = a[(a > 2) & (a < 11)]print(C)[ 3  4  5  6  7  8  9 10]
还可以使用逻辑运算符&和 |返回布尔值,指定数组中的值是否满足特定条件 。这对于包含名称或其他分类值的数组很有用 。
five_up = (a > 5) | (a == 5) print(five_up)[[False False False False]
 [ True  True  True  True]
 [ True  True  True True]]
还可以使用np.nonzero()从数组中选择元素或索引 。
从这个数组开始:
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])可以使用np.nonzero()打印元素的索引,例如,小于5:
b = np.nonzero(a < 5)print(b)(array([0, 0, 0, 0]), array([0, 1, 2, 3]))以上就是关于“如何在NumPy下索引与切片?索引与切片的方法”的全部内容了,经过本文的学习后,相信大家对NumPy下的索引与切片的用法这一问题有了更深刻的体会,具体使用情况还需要大家动手操作 。

    推荐阅读