实例展示
al=
[[ 1 2 3 4]#0行
[ 5 6 7 8]#1行
[11 12 13 14]#2行
[ 2 3 4 5]]#3行
# 0 1 2 3 列
使用该方法 al[起始行:终止行,起始列:终止列] 对矩阵进行切片
print('截取矩阵第第一三列:\n{}\n{}'.format(a1[0:2, 0:3], type(a1[0:2, 0:3])))
print('截取矩阵第二三行:\n{}\n{}'.format(a1[1:3], type(a1[1:3])))
print('截取矩阵第二三列:\n{}\n{}'.format(a1[:, 1:3], type(a1[:, 1:3])))
结果输出:
截取矩阵第一二行,第一三列:
[[1 2 3]
[5 6 7]]
<class 'numpy.ndarray'>
截取矩阵第二三行:
[[ 5 6 7 8]
[11 12 13 14]]
<class 'numpy.ndarray'>
截取矩阵第二三列:
[[ 2 3]
[ 6 7]
[12 13]
[ 3 4]]
<class 'numpy.ndarray'>
由结果可知切片并不包含终止行和列。
完整程序:
import numpy as np
a1 = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [11, 12, 13, 14], [2, 3, 4, 5]])
print('al=:\n', a1)
# 切某几列或某几行或某块
print('截取矩阵第一二行,第一三列:\n{}\n{}'.format(a1[0:2, 0:3], type(a1[0:2, 0:3])))
print('截取矩阵第二三行:\n{}\n{}'.format(a1[1:3], type(a1[1:3])))
print('截取矩阵第二三列:\n{}\n{}'.format(a1[:, 1:3], type(a1[:, 1:3])))
# 切某一列或某一行
print('截取矩阵第四行:\n{}\n{}'.format(a1[3], type(a1[3])))
print('截取矩阵第三行:\n{}\n{}'.format(a1[2, :], type(a1[2, :])))
print('截取矩阵第三列:\n', a1[:, 2])
# 取某个元素
print('截取矩阵第三行第三列:\n{}\n{}'.format(a1[2, 2], type(a1[2, 2])))
print('截取矩阵第三行第三列:\n{}\n{}'.format(a1[2][2], type(int(a1[2][2]))))