Numpy索引
通过下标进行索引
a=np.arange(3,15).reshape((3,4))
print(a)[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]print(a[1])
[ 7 8 9 10]
print(a[2,2])
13
print(a[:,2])
[ 5 9 13]
for row in a:
print(row) #按行遍历[3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]for item in a.flat:
print(item) #按项遍历3
4
5
6
7
8
9
10
11
12
13
14
数组合并
上下合并
a=np.array([1,1,1])
b=np.array([2,2,2])
c=np.vstack((a,b))
print(c)[[1 1 1]
[2 2 2]]
左右合并
c=np.hstack((a,b))
print(c)[1 1 1 2 2 2]
数组分割
等量分割
a=np.arange(12).reshape((3,4))
print(a)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]c=np.vsplit(a,3) #上下分3块
print(c)[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
c=np.hsplit(a,2) #左右分两块
print(c)[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]c=np.split(a,2,axis=1) #左右分两块
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]c=np.split(a,3,axis=0) #上下分3块
print(c)[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
不等量分割
c=np.array_split(a,3,axis=1) #左右分3块
print(c)[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2],
[ 6],
[10]]), array([[ 3],
[ 7],
[11]])]
数组赋值
numpy中赋值(=)的两个对象会被关联,及相等,之后对其中任何一个量操作,另一个量也会发生同样的变化。
为了避免关联情况,一般选择copy
b=a.copy() #深拷贝
本文详细介绍了Numpy中数组的基本索引操作,包括通过下标访问元素、按行或按项遍历数组;同时深入探讨了数组的合并与分割方法,并讲解了如何正确地为数组赋值以避免不必要的关联。
416

被折叠的 条评论
为什么被折叠?



