这篇文章主要讲解了“如何在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]])

打印数组中小于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下的索引与切片的用法这一问题有了更深刻的体会,具体使用情况还需要大家动手操作。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!