numpy Python np.array 基础操作(一)索引

numpy array 基本信息:

np.shape()
np.size()
np.len()

import numpy as np
# 1-D数组
z = np.array([1,2,3,4,5])
print(z) # [1 2 3 4 5]
print(z.shape) # 数组的维度,这是一个整数的元组。(5,)
print(z.size) # 5 数组元素的总数。
print(len(z)) # 5
# 2-D数组
y = np.arange(10).reshape(2,5)
print(y) # [[0 1 2 3 4] [5 6 7 8 9]]
print(y.shape) # (2, 5)
print(y.size) # 10 数组元素的总数,这等于 shape 的元素的乘积。
print(len(y)) # 2
# 3-D数组
x = np.arange(30).reshape(2,3,5)
print(x)
#[[[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]]
# [[15 16 17 18 19]
#  [20 21 22 23 24]
#  [25 26 27 28 29]]]
print(x.shape) # (2, 3, 5)
print(x.size) # 30 数组元素的总数,这等于 shape 的元素的乘积。
print(len(x)) # 2

numpy array 索引:

取某行
取某列
取某数

import numpy as np
# 1-D数组,索引如同列表
z = np.array([1,2,3,4,5])
print(z[3]) # 4 第3+1个,因为第一位索引是0
print(z[1:3]) # [2 3] 从第二个至第三个,因为第一位索引是0,前闭后开区间z[1:3)
print(z[2:]) # [3 4 5] 从第三个至尾
print(z[:-1]) # [1 2 3 4] 从头至倒数第一个
print(z[:-2]) # [1 2 3 ] 从头至倒数第二个
print(z[2:-2]) # [3] 从第三个至倒数第二个,前闭后开区间z[2:-2)
# 3-D数组
x = np.arange(30).reshape(3,2,5)
print(x)
'''
[[[ 0  1  2  3  4]
  [ 5  6  7  8  9]]

 [[10 11 12 13 14]
  [15 16 17 18 19]]

 [[20 21 22 23 24]
  [25 26 27 28 29]]]'''
print(x[0]) # [[0 1 2 3 4] [5 6 7 8 9]] 第0
print(x[-2]) # [[10 11 12 13 14][15 16 17 18 19]] 倒数第二
print(x[-1]) # [[20 21 22 23 24] [25 26 27 28 29]] 倒数第一
print(x[0,1]) # [5 6 7 8 9] 取某行
print(x[2,1]) # [25 26 27 28 29] 取某行
print(x[0,1,3]) # 8 取某数
print(x[1:])
'''
[[[10 11 12 13 14]
  [15 16 17 18 19]]

 [[20 21 22 23 24]
  [25 26 27 28 29]]]'''
print(x[:1]) # [[[0 1 2 3 4] [5 6 7 8 9]]]
print(x[:2])
"""[[[ 0  1  2  3  4]
  [ 5  6  7  8  9]]

 [[10 11 12 13 14]
  [15 16 17 18 19]]]"""
print(x[:,:,1]) # [[ 1  6] [11 16] [21 26]] 取每个数组的第2个元素
print(x[-1]) # [[20 21 22 23 24] [25 26 27 28 29]]
print(x[:,1]) # [[ 5  6  7  8  9] [15 16 17 18 19] [25 26 27 28 29]] 每个2-D数组的第2行
print(x[:,1,1]) # [ 6 16 26] 每个2-D数组的第2行第2列
print(x[:,1,-1]) # [ 9 19 29] 每个2-D数组的第2行倒数第1个元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值