您的位置:首页 > 编程语言 > Python开发

python基础--数组和矩阵区别

2017-10-19 13:47 549 查看
参考博客:http://blog.csdn.net/taoyanqi8932/article/details/52703686

在矩阵和数据中取行列值时,是不一样的表达形式,如下:

1.矩阵和数组索引

from numpy import *
from numpy import linalg

#矩阵
matA = mat([[1, 0]])
matB = mat([[1,3,6], [0, 2,7]])
print matA
print matB
print matB[1] #取第几行
print matB[0,1]  #取第0行第1列
print type(matB) #查看数据类型
#结果
[[1 0]]
[[1 3 6]
[0 2 7]]
[[0 2 7]]
3
<class 'numpy.matrixlib.defmatrix.matrix'>


#数组
arryA=array([1,2,3])
arryB=array([[1,2,3],[0,2,7]])
print arryA
print arryB
print arryB[1] #取第一行
print arryB[0][1] #取第0行第1列
print type(arryB)
#结果
[1 2 3]
[[1 2 3]
[0 2 7]]
[0 2 7]
2
<type 'numpy.ndarray'>


结论:虽然多维数组和多维矩阵输出格式是一样的,但是取值形式是不同的。要特别注意

Numpy有许多的创建数组的函数:

import numpy as np

a = np.zeros((3,3))  # Create an array of all zeros
a1=np.zeros([3,3])
print a

b = np.ones((1,2))
b1 = np.ones([1,2])
print b

c = np.full((2,2), 7)
print c

d = np.eye(2)
print d

e = np.random.random((2,2))
print e


2.矩阵和数组基本运算

from numpy import *

a1=array([1,2,3])
a2=array([4,5,6])
print a1*a2
#结果
[ 4 10 18]


m1=mat([1,2,3])     #1行3列
m2=mat([4,5,6])
print m1*m2.T
# 执行点乘操作,要使用函数,特别注意
print multiply(m1,m2)
#结果分别为:
[[32]]
[[ 4 10 18]]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python