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

参考博客: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]

多维数组相乘
a1=array([[1,2,3]])
a2=array([[4,5,6]])
print(a1*a2)
print(a1*a2.T)
#结果
[[ 4 10 18]]
[[ 4  8 12]
 [ 5 10 15]
 [ 6 12 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]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值