"""矩阵"""
import numpy as np
a = np.arange(12).reshape(3, 4)
print('原数组:')
print(a)
print('转置数组:')
print(a.T)
# 返回一个新的矩阵, 填充为随机数据
print(np.empty((2, 2)))
print(np.zeros((2, 2)))
print(np.ones((2, 2)))
# numpy.matlib.eye() 函数返回一个矩阵,对角线元素为 1,其他位置为零
# n: 返回矩阵的行数
# M: 返回矩阵的列数,默认为 n
# k: 对角线的索引
# dtype: 数据类型
print(np.eye(N=3, M=4, k=0, dtype=float))
# [[1. 0. 0. 0.]
# [0. 1. 0. 0.]
# [0. 0. 1. 0.]]
# numpy.identity() 函数返回给定大小的单位矩阵
print(np.identity(5, dtype=float))
# [[1. 0. 0. 0. 0.]
# [0. 1. 0. 0. 0.]
# [0. 0. 1. 0. 0.]
# [0. 0. 0. 1. 0.]
# [0. 0. 0. 0. 1.]]
i = np.matrix('1,2;3,4')
print(i)
j = np.asarray(i)
print(j)
k = np.asmatrix(j)
print(k)
# 矩阵总是二维的,而 ndarray 是一个 n 维数组。 两个对象都是可互换的
print(np.arange(10).reshape(1, 2, 5))
# [[[0 1 2 3 4]
# [5 6 7 8 9]]]
print(np.asmatrix(np.arange(10).reshape(1, 2, 5)))
# [[0 1 2 3 4]
# [5 6 7 8 9]]