前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python环境】Python Numpy数组及矩阵线性运算

【Python环境】Python Numpy数组及矩阵线性运算

作者头像
陆勤_数据人网
发布2018-02-27 11:34:32
1.2K0
发布2018-02-27 11:34:32
举报
文章被收录于专栏:数据科学与人工智能

numpy中数组的运算基本分为数组与标量的运算和数组之间的运算(线性运算)。

一、数组和标量之间的运算

数组与标量之间的运算采用的是矢量化运算,它可以使我们不用编写循环函数就可以对每个元素进行运算,它的运算是元素级的。这种运算同R一样。

data1 = np.arange(1,10,1)

data2 = data1.reshape((3,3))

data2

Out[7]:

array([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

data2*2

Out[8]:

array([[ 2, 4, 6],

[ 8, 10, 12],

[14, 16, 18]])

data2+data2

Out[9]:

array([[ 2, 4, 6],

[ 8, 10, 12],

[14, 16, 18]])

data2-data2

Out[10]:

array([[0, 0, 0],

[0, 0, 0],

[0, 0, 0]])

1/data2

Out[11]:

array([[ 1. , 0.5 , 0.33333333],

[ 0.25 , 0.2 , 0.16666667],

[ 0.14285714, 0.125 , 0.11111111]])

二、数组间的线性运算

numpy.linalg提供了一组标准的矩阵分解运算以及平常的矩阵运算,比如乘积,求逆。numpy中矩阵的乘法不能采用*,*指的是不同数组中对应元素的乘积,这点同R是一致的。

示例:

(1)元素的相乘:

data2 * data2

Out[12]:

array([[ 1, 4, 9],

[16, 25, 36],

[49, 64, 81]])

(2)矩阵的相乘 :

data2.dot(data2)

Out[13]:

array([[ 30, 36, 42],

[ 66, 81, 96],

[102, 126, 150]])

Numpy.linalg线性运算:

from numpy.linalg import *

三、矩阵运算

numpy模块中有专门的矩阵对象numpy.matrix,对矩阵的运算均可通过这个类型来实现。

矩阵创建语法:numpy.matrix(data,dtype,copy)

data为ndarray对象或字符形式。这里的字符形式同Matlab中的字符形式相同:内部数据以字符串形式,换行用分号隔开,列之间用空格隔开。

x = np.matrix(data2) #数组转换为矩阵

y = np.matrix('1 2 3 ; 4 5 6 ; 7 8 9 ') #创建Matlab风格的矩阵

矩阵运算基本函数:

以上就是基本的数组运算函数了,更详细的矩阵运算方法,请查阅参考资料5.

参考文献

1.Python 数据分析基础包:Numpy

http://my.oschina.net/lionets/blog/276574

2.NumPy-快速处理数据

http://old.sebug.net/paper/books/scipydoc/numpy_intro.html

3.Python for Data Analysis(利用Python进行数据分析 )

4.ndarray对象

http://hyry.dip.jp/tech/book/page/scipy/numpy_ndarray.html

5. Numpy中矩阵对象(matrix)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档