Numpy学习(三)

本文详细介绍了Numpy中数组的基本索引操作,包括通过下标访问元素、按行或按项遍历数组;同时深入探讨了数组的合并与分割方法,并讲解了如何正确地为数组赋值以避免不必要的关联。

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()     #深拷贝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值