Python Numpy 矩阵级基本操作(1)
NumPy的操作介绍
import numpy as np #导入numpy包,简写为np print "Generate 1*10 matrix"
a=np.arange(1,11)**2 #生成1-10的数组,并且每个元素原地平方
b=np.arange(1,11)**3
c=a+b #两个矩阵对应元素相加
print c
print c.shape print "create a 2*10 matrix"
m=np.array([np.arange(10),np.arange(10)]) #使用array来创建数组(矩阵),在括号内输入维度
print m
print m.shape print "generate zero matrix"
z1=np.zeros(10,dtype=np.int8) #create zero matrix
z2=np.zeros([3,4])
print z1
print z2 print "generate empty matrix"
e=np.empty([2,2]) #create empty matrix
print e print "create identity matrix with data type equals int8"
eye1=np.eye(5,dtype=np.int8) #生成对角线矩阵
print eye1
print eye1[0,0] #get element by index
print eye1[3,4] print "calculation between two matrix"
arr1=np.array([[1,2,3],[4,5,6]]) #calculation between two matrix
arr2=arr1*arr1
print arr1
print arr2
print arr2-arr1
print arr2/arr1
print arr2%arr1 print "calculation between a matrix and a number"
print 1/arr1
print arr1*0.3
print arr1+0.08
print arr1-0.33 print "Test reshape" #reshape不改变原矩阵,resize改变原矩阵
oriMatrix = np.arange(25)
resMatrix = oriMatrix.reshape(5,5)
print oriMatrix
print resMatrix
print "Reshape and Resize"
oriMatrix.resize(5,5)
print oriMatrix print "Test diagonal and sum"
diag = resMatrix.diagonal()#获取对角线元素,组成向量
sumdiag = sum(diag)#计算向量各元素的和
print diag
print sumdiag print "Get items by multi-index"
arr3 = np.arange(32).reshape(8,4)
print arr3
print arr3[[1,7,3,2],:] #矩阵切片
print arr3[:,[1,3]] print "Test Transpose"#矩阵转置
print arr3.T
print arr3.transpose() print "Test Ravel, From (m,n) to (m*n,1)"
print arr3.ravel()#矩阵展开
print arr3.flatten() print "Test stack" #矩阵的组合
m1 = np.arange(9).reshape(3,3)
m2 = m1*3
mh = np.hstack((m1,m2)) #水平
mv = np.vstack((m1,m2)) #垂直
md = np.dstack((m1,m2))
print mh
print mv
print md print "Test split"
print np.hsplit(mh, 3)
print np.vsplit(mv,3) print "Array tools"
print mh.ndim #Dimension
print mh.size #the number of items
print mh.itemsize #bytes for every item
print mh.nbytes #total bytes=size*itemsize
Python Numpy 矩阵级基本操作(1)的更多相关文章
- Python Numpy 矩阵级基本操作(2)
1.开方与求e指数 import numpy as np from numpy.matlib import randn print "Test sqrt and exp" arr ...
- python numpy 矩阵左右翻转/上下翻转
numpy API: flattened flip() (in module numpy) fliplr() (in module numpy) flipud() (in module numpy) ...
- Python NumPy学习总结
一.NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Num ...
- Python numpy中矩阵的用法总结
关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...
- python之numpy矩阵库的使用(续)
本文是对我原先写的python常用序列list.tuples及矩阵库numpy的使用中的numpy矩阵库的使用的补充.结合我个人现在对线性代数的复习进度来不断更博. Section 1:行列式的计算 ...
- Python Numpy基础教程
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)
Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...
- Python数据分析库pandas基本操作
Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...
随机推荐
- Jmeter中动态获取jsessionid来登录
Jmeter中很多请求的url里会包含jsessionid,如 http://www.xxx.com/xxx_app;jsessionid=xxxxxxxxxx?a=x&b=x.jsessio ...
- VB - 循环
循环控制语句有for……next循环.for……each循环.do……while循环.do……until循环.while循环五种形式. 1. 在使用循环控制语句前,首先要对循环条件进行判断,如果循环次 ...
- Ubuntu18.10下出现Could not get lock /var/lib/dpkg/lock的错误
最近在Windows10系统下使用Oracle VM VirtualBox6.0.2下安装的Ubuntu18.10时,运用sudo apt-get install 安装pkg-config工具,在终 ...
- vue如何配置路由 、获取路由的参数、部分刷新页面、缓存页面
vue如何配置路由 .获取路由的参数.部分刷新页面.缓存页面:http://www.mamicode.com/info-detail-1941546.html vue-router传递参数的几种方式: ...
- 52-python基础-python3-列表-常用列表方法- reverse()方法
reverse()方法 永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse() 即可. 实例:
- [Java 教程 03] 我的第一个Java程序
现在,大家应该都已经安装好jdk环境了吧!是不是已经跃跃欲试,按耐不住心中的小激动了?那我们现在就来写我们java学习生涯中的第一个java程序. 文件相关设置 为了方便后面大家的学习呢?有一点大家还 ...
- 【知识强化】第四章 网络层 4.3 IP
这节课我们来学习一下IP数据报的格式.那之所以把路由算法这一小节跳过呢,就是因为我们之后会要讲到路由的选择协议.那在路由选择协议这一块讲路由算法,我觉得是比较合适的.那我们先来看一下这节课要讲的知识. ...
- 使用Maven创建Web项目(转)
转自:http://ju.outofmemory.cn/entry/49508 本文通过Maven完成一个简单的Web项目(注意,Spring配置不是重点,看看就行) 1.从Maven模板创建Web应 ...
- 力扣——Partition List(分隔链表) python实现
题目描述: 中文: 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = ...
- windows消息机制(转)
1. 引言Windows 在操作系统平台占有绝对统治地位,基于Windows 的编程和开发越来越广泛.Dos 是过程驱动的,而Windows 是事件驱动的[6],这种差别的存在使得很多Dos 程序员不 ...