Python numpy索引,合并,分割,复制

1.索引

import numpy as np  #将numpy简写成np
a = np.arange(3, 15)
print(a)
print(a[3])  #一维下标索引

b = np.arange(3, 15).reshape(3,4)
print(b)
print(b[2])   #索引二维数组的行数
print(b[2][2])   #索引二维数组的第几行第几列
print(b[2, 2])   #索引二维数组的第几行第几列
print(b[2, :])   #索引二维数组的第2行的所有数
print(b[:,1])   #索引二维数组的第1列的所有数
print(b[1, 1:2])   #索引二维数组的第1行 的第一列到第二列的数
b = np.arange(3, 15).reshape(3, 4)
print(b)
for row in b:
    print(row) #按行索引

for column in b.T:  #把b数组进行翻转,再按行索引,就是原本b数组的按列索引
    print(column)

for item in b.flat:   #迭代出b数组中所有数
    print(item)

2.合并

a = np.array([1,1,1])
b = np.array([2,2,2])
c = np.vstack((a,b))  #将a,b进行垂直合并
d = np.hstack((a,b))  #将a,b进行左右合并
e = np.concatenate((c, d)) #多个数组的合并
print(d)
print(a[:, np.newaxis])  #在a列中添加新的维度

3.分割
vsplit沿着垂直轴分割,纵向分割
指定分割应该发生之后的列来沿着其横轴拆分原array

import numpy as np  #将numpy简写成np
a = np.arange(12).reshape((3,4))
print(a)
# print(np.split(a, 2, axis=1))  #将a的列分成两分,进行等量分割
# print(np.split(a, 3, axis=0))
print(np.array_split(a, 3, axis=1))  #a的列分成三份,进行不等量分割
print(np.vsplit(a,3))
print(np.hsplit(a,2))

4.复制

import numpy as np  #将numpy简写成np
a = np.arange(4)
d = a   #完完全全的a就是d
d[1:3] = [9, 8]  #操作d,也就是在操作a
print(a)
print(d)

如果只想把a的副本给b,那么进行以下操作

a = np.arange(4)
d = a.copy()
d[1:3] = [9, 8]
a[1:3] = [5, 5]
print(a)
print(d)
[0 5 5 3]
[0 9 8 3]

a被改变成[0 5 5 3]
b被改变成[0 9 8 3]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值