今天来学习矩阵的创建和一些基本运算
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : numpy7.py
import numpy as np
# numpy基本学习第七课。
# 学习矩阵创建;
# 学习基本运算;
array=np.arange(12).reshape(3,4)
print array
# array为:
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
# 之前我们把这样创建的数组也叫作矩阵,实际上numpy中有创建矩阵的官方方法。
# 1、使用mat()函数创建一个矩阵,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开。
A=np.mat('0 1 2 3; 4 5 6 7; 8 9 10 11')
print A
# 输出结果与之前的方法基本一样:
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
# 我们还可以使用NumPy数组进行创建:
B=np.mat(array)
print B
# 输出结果与A一样:
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
# 2、矩阵的转置矩阵。
print A.T
# 输出结果:
# [[ 0 4 8]
# [ 1 5 9]
# [ 2 6 10]
# [ 3 7 11]]
# 3、矩阵的逆矩阵。
print A.I
# 输出结果:
# [[-0.3375 -0.1 0.1375 ]
# [-0.13333333 -0.03333333 0.06666667]
# [ 0.07083333 0.03333333 -0.00416667]
# [ 0.275 0.1 -0.075 ]]
# 4、divide函数在整数和浮点数除法中均只保留整数部分。
a = np.array([2, 6, 5])
b = np.array([1, 2, 3])
print np.divide(a, b)
print np.divide(b, a)
# 运算结果如下:
# [2 3 1]
# [0 0 0]
# 默认情况下,使用/运算符相当于调用divide函数
print a/b
# 运算结果如下:
# [2 3 1]
# 5、true_divide函数与数学中的除法定义更为接近,即返回除法的浮点数结果而不作截断:
print np.true_divide(a, b)
print np.true_divide(b, a)
# 运算结果如下:
# [ 2. 3. 1.66666667]
# [ 0.5 0.33333333 0.6 ]
# 6、floor_divide函数总是返回整数结果,相当于先调用divide函数再调用floor函数。
# floor函数将对浮点数进行向下取整并返回整数:
print np.floor_divide(a,b)
# 运算结果如下:
# [2 3 1]
# 默认情况下,使用运算符//对应于floor_divide函数。
print a//b
# 运算结果如下:
# [2 3 1]
网友评论