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个元素