Python中numpy读取高维数组中特定的行,列

直接跑代码,看懂代码,跑一遍,你自然懂了。


'''
多维矩阵按括号的层级,从外向内,一次是第1,2,3,...维

b[]内用逗号将各维分开,分别代表第1,2,3...维元素
逗号把数组分成两维度,左边是所有的行(第一维度),右边是所有的列(第二维度元素)
每个维度上都有自己的下标,也可以用':'取部分
'''
import numpy as np

a=np.arange(10)
print(a)
print(a[0:9])  # 包头不包尾
print(a[3:6])
print(a[:5])  # :前面不写就是从下标为0开始
print(a[5:])  # :后面不写就是一直到最后一个元素
print(a[:])   # :前后都不写就是从头到尾



print('---------------')

b= np.mat(np.arange(20).reshape(4,5))  #建立4*5的二维矩阵,数字从0到20之间
print(b)
print(b[1:3,2:5])   # 先取第一维中下标为1,2的2部分,再取第二维中下标为2,3,4的3部分;逗号左边,1,2行,逗号右边,2,3,4,列,他们交集就是我们要的
print(b[:2,2:])     # 同理,前面不写从头开始,后面不写一直到末尾,逗号左边:0,1两行,逗号右边,2,3,4列,他们交集就是我们要的
print(b[:2,3])      # 当然,也可以在某维度上只取一行
print(b[:,4])    #,逗号左边,所有行,逗号右边,第四列
print('-----------------')

c= np.arange(60).reshape(3,4,5)
print(c)
print('-------c[:2,2:4,1:4]------------')

print(c[:2,2:4,1:4])  # 从外向内一层一层的割,切割不改变矩阵维度
print('---------c[:,:,4]----------')

print(c[:,:,4])
print('-------d-----------')
d= np.arange(240).reshape(3,4,5,4)

print(d)
print('-------d[:2,1:3,2:5,1:3]------------')

print(d[:2,1:3,2:5,1:3])
print('-------d[:,:,:,3]------------')
print(d[:,:,:,3])

 

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值