1.NumPy访问【数组&矩阵】

2.矩阵的运算

3.NumPy通用函数

4.NumPy矩阵的合并和分割

print "**********Numpy访问(数组&矩阵)***********"
def f(x,y):
return 10*x+y
arr8=np.fromfunction(f,(4,3),dtype=int) #创建矩阵
print arr8
print "****索引访问矩阵****"
print arr8[2,1]
print "****切片访问矩阵****"
print arr8[0:2,:] #访问矩阵前2行
#切片操作就是在索引操作的基础上对行和列分别操作
print arr8[1:3,1:2] #访问矩阵的第一行和第二行的第一列(下标从0开始)
print arr8[0:2,] #矩阵前2行
print "矩阵第一列"
print arr8[:,1]
print "矩阵最后一行"
print arr8[3:4,]
print arr8[-1]
print "****迭代器访问矩阵****"
for row in arr8:
print row
for i in [0,1,2]: #修改矩阵的值
row[i]+=8
print arr8
for element in arr8.flat: #访问矩阵中的元素
print element,
# element +=20
# print element,
print "**********NumPy【矩阵的运算】*************"
ar1=np.array([[2,1],[1,2]])
ar2=np.array([[1,2],[3,4]])
print ar1-ar2
print ar1**2
print ar2*3
print ar1*ar2 #普通乘法
print np.dot(ar1,ar2) #矩阵乘法
print ar2.T #转置
print np.linalg.inv(ar2) #矩阵的逆
print ar2.sum() #矩阵元素求和
print ar2.max() #矩阵最大的元素
ar3=np.array([[1,2],[3,4],[5,6]])
print ar3.cumsum(1) #按行累计总和
print "**************"
print ar2
ar4=np.array([1,8,9,0,5])
ar5=np.array([[1,8,9,0,5],[2,7,0,6,4],[3,0,6,5,9]])
print ar4
print np.nonzero(ar4) #返回数组非零元素的位置
print np.nonzero(ar5) #第二个数组返回非零元素的位置
print "**************NumPy通用函数******************"
print np.exp(ar1)
print np.sin(ar1) #弧度制
print np.sqrt(ar1) #开方函数
print np.add(ar1,ar2)
print "*************NumPy 矩阵的合并和分割***************"
ar7=np.vstack((ar1,ar2)) #纵向合并矩阵
print ar7
ar8=np.hstack((ar1,ar2))
print ar8 #横向合并矩阵
print "纵向分割"
print np.vsplit(ar7,2)
print "横向分割"
print np.hsplit(ar8,2)

结果:

  

**********Numpy访问(数组&矩阵)***********
[[ 0 1 2]
[10 11 12]
[20 21 22]
[30 31 32]]
****索引访问矩阵****
21
****切片访问矩阵****
[[ 0 1 2]
[10 11 12]]
[[11]
[21]]
[[ 0 1 2]
[10 11 12]]
矩阵第一列
[ 1 11 21 31]
矩阵最后一行
[[30 31 32]]
[30 31 32]
****迭代器访问矩阵****
[0 1 2]
[10 11 12]
[20 21 22]
[30 31 32]
[[ 8 9 10]
[18 19 20]
[28 29 30]
[38 39 40]]
8 9 10 18 19 20 28 29 30 38 39 40 **********NumPy【矩阵的运算】*************
[[ 1 -1]
[-2 -2]]
[[4 1]
[1 4]]
[[ 3 6]
[ 9 12]]
[[2 2]
[3 8]]
[[ 5 8]
[ 7 10]]
[[1 3]
[2 4]]
[[-2. 1. ]
[ 1.5 -0.5]]
10
4
[[ 1 3]
[ 3 7]
[ 5 11]]
**************
[[1 2]
[3 4]]
[1 8 9 0 5]
(array([0, 1, 2, 4]),)
(array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([0, 1, 2, 4, 0, 1, 3, 4, 0, 2, 3, 4]))
**************NumPy通用函数******************
[[ 7.3890561 2.71828183]
[ 2.71828183 7.3890561 ]]
[[ 0.90929743 0.84147098]
[ 0.84147098 0.90929743]]
[[ 1.41421356 1. ]
[ 1. 1.41421356]]
[[3 3]
[4 6]]
*************NumPy 矩阵的合并和分割***************
[[2 1]
[1 2]
[1 2]
[3 4]]
[[2 1 1 2]
[1 2 3 4]]
纵向分割
[array([[2, 1],
[1, 2]]), array([[1, 2],
[3, 4]])]
横向分割
[array([[2, 1],
[1, 2]]), array([[1, 2],
[3, 4]])]

Python---NumPy模块---矩阵操作的更多相关文章

  1. python OS 模块 文件目录操作

    Python OS 模块 文件目录操作 os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C AP ...

  2. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  3. python numpy模块

    目录 numpy模块 一维数组 二维数组(用的最多的) 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的元素的替换 通过函数方法创建多维数组 矩阵的运算 点乘和转置(了解) 点乘必须 m*n ...

  4. Python中的矩阵操作

    Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包. NumPy 是一个非常优秀的提供矩阵操作的包.N ...

  5. Python MySQLdb模块连接操作mysql数据库实例_python

    mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

  6. [Python]-numpy模块-机器学习Python入门《Python机器学习手册》-01-向量、矩阵和数组

    <Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...

  7. python numpy 模块简单介绍

    用python自带的list去处理数组效率很低, numpy就诞生了, 它提供了ndarry对象,N-dimensional object, 是存储单一数据类型的多维数组,即所有的元素都是同一种类型. ...

  8. python numpy模块使用笔记(更新)

    np.arange(int a) 生成一个一维array,元素个数是a个,元素是0到a-1 注意arange不能直接生成多维array np.arange(int a).reshape(int b,i ...

  9. python numPy模块 与numpy里的数据类型、数据类型对象dtype

    学习链接:http://www.runoob.com/numpy/numpy-tutorial.html 官方链接:https://numpy.org/devdocs/user/quickstart. ...

随机推荐

  1. virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenvwrapper.........(解决办法)

    Linux(ubuntu)上python2与python3共存环境下,安装virtualenvwrapper后, 其环境变量被自动设置为VIRTUALENVWRAPPER_PYTHON=/usr/bi ...

  2. vscode调试angular2

    调试步骤: 1.安装nodejs 2.安装vscode 3.vscode安装debugger for chrome插件 4.选择调试->打开调试配置,选择chrome配置,打开lauch.jso ...

  3. Mac os安装MySQL数据库,系统提示mysql: command not found该怎么办

    当我们安装好MySQL后,在终端输入mysql命令,发现并不能看到自己安装的数据库,这是因为你没有配置环境变量. 在os系统中安装MySQL数据库默认保存在/usr/local/mysql 那么我们应 ...

  4. Directory获取方式

    1) FSDirectory.open FSDirectory.open()会以最合适的方式来获取一个Directory对象. 2) RAMDirectory 可以将磁盘中的索引加载到内存中,访问速度 ...

  5. 【03】HTML head 头部分的标签说明 和 手机头部标签说明

    HTML head 头部分的标签.元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性.移动互联网时代,head 头部结 ...

  6. xtu summer individual 5 D - Subsequence

    Subsequence Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID ...

  7. 常见问题:Linux安装Python3步骤、Windows无法利用pip

    Linux安装python3.6和第三方库的步骤: 我的Linux是CentOS 6.5版本 Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7, ...

  8. PHP_pear的安装和使用

    --------------            安装pear -------------- pear是PHP的扩展和应用程序库,包含了很多有用的类,安装好php5.0后,pear实际上并没有被安装 ...

  9. 原 linux添加虚拟ip(手动vip和keepalived方式)

    https://blog.csdn.net/dear_snowing/article/details/68066544 https://www.cnblogs.com/liuyisai/p/59906 ...

  10. Balance POJ - 1837 地推

    Gigel has a strange "balance" and he wants to poise it. Actually, the device is different ...