numpy的一些用法
安装numpy
windows安装pip即可,具体方法参考pip官网 http://pip-cn.readthedocs.io/en/latest/installing.html
安装方法:pip install numpy-1.14.3-cp27-none-win_amd64.whl
功能介绍:
- 提供数组的矢量化操作,所谓矢量化就是不用循环就能将运算符应用到数组中的每个元素中。
- 提供数学函数应用到每个数组中元素
- 提供线性代数,随机数生成,傅里叶变换等数学模块
- ndarray:numpy库的心脏,多维数组,具有矢量运算能力,快速、节省空间在array中的数据类型是一致的
ndarray:
ndarray具有多维性。ndarray的元素可以通过索引的方式进行访问。在Numpy中,ndarray的维度称为axes。axes的大小称为rank。列如ndarray[1,2,1],它的维度为1,rank的值为1,因为只有一维。索引从0开始。
print np.identity(3,int) #单位矩阵
结果:
[[1 0 0]
[0 1 0]
[0 0 1]]
零矩阵:
print np.zeros((3,4)) #零矩阵
print np.zeros(3) #零矩阵
结果:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[0. 0. 0.]
全一矩阵:
print np.ones((3,3))
print np.ones(4)
结果:
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
[1. 1. 1. 1.]
矩阵乘法:
a=((1,2,3),(4,5,6),(7,8,9))
a=np.array(a)
print np.dot(2,a)
结果:
[[ 2 4 6]
[ 8 10 12]
[14 16 18]]
矩阵大小:
a=((1,2,3),(4,5,6),(7,8,9))
a=np.array(a)
print a.ndim
结果:
2
行求和,列求和
a=((1,2,3),(4,5,6),(7,8,9))
a=np.array(a)
print np.sum(a,axis=1)
print np.sum(a,axis=0)
#axis=1表示矩阵a的行求和,axis=0表示在列求和
结果:
[ 6 15 24]
[12 15 18]
转置矩阵:
a=((1,2,3),(4,5,6),(7,8,9))
a=np.array(a)
print a.T
结果:
[[1 4 7]
[2 5 8]
[3 6 9]]
其他的一些:
a=((1,2,3),(4,5,6),(7,8,9))
a=np.array(a)
print np.random.random((3,3)) #random模块的random函数,生成随机数
print np.mean(a) #求平均数
print np.max(a) #求最大值
print np.min(a)
print np.std(a) #求标准差
print np.arange(0,20,step=2) #arange可以指定起点,终点,步长进行数组创建
print np.linspace(0, 20, 10) #等同于下面的这个
print np.linspace(start=0, stop=20, num=10)
#直接指定开始,结束然后指定个数进行创建。
print np.random.normal(10,100,size=10) #产生服从高斯分布的随机数,三个参数分别是平均值,方差,个数
结果:
[[0.18149469 0.82166642 0.89837593]
[0.07947753 0.65715104 0.23933089]
[0.34254456 0.19185617 0.17856812]]
5.0
9
1
2.581988897471611
[ 0 2 4 6 8 10 12 14 16 18]
[ 0. 2.22222222 4.44444444 6.66666667 8.88888889 11.11111111
13.33333333 15.55555556 17.77777778 20. ]
[ 0. 2.22222222 4.44444444 6.66666667 8.88888889 11.11111111
13.33333333 15.55555556 17.77777778 20. ]
[ 36.25896713 75.73646837 -90.97435221 -87.55378736 192.75253223
-59.32404814 256.30659631 -161.95343956 5.39389542 -62.17649294]
numpy的一些用法的更多相关文章
- Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)
Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...
- Numpy的简单用法
Numpy的简单用法 import numpy as np 一.创建ndarray对象 列表转换成ndarray: >>> a = [1,2,3,4,5] >>> ...
- numpy中线性代数用法
numpy中线性代数用法 矩阵乘法 >>> import numpy as np >>> x=np.array([[1,2,3],[4,5,6]]) >> ...
- numpy.asmatrix的用法
学习的过程中,遇到了asmatrix的用法,看了一下官方文档,明白了. numpy.asmatrix numpy.asmatrix(data, dtype=None)[source] Interpre ...
- 数据科学:numpy.where() 的用法
原文出处:numpy.where() 用法讲解 原创作者:massquantity numpy.where() 有两种用法: 1. np.where(condition, x, y) 满足条件(con ...
- Py修行路 NumPy模块基本用法
NumPy系统是Python的一种开源的数值计算扩展,一个用python实现的科学计算包.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结 ...
- Numpy的基础用法
1.用Numpy创建数组 numpy.array(object):创建数组,与array.array(typecode[, initializer])不同,array.array()只能创建一维数组 ...
- numpy.random模块用法总结
from numpy import random numpy.random.uniform(low=0.0, high=1.0, size=None) 生出size个符合均分布的浮点数,取值范围为[l ...
- anaconda及jupyter notebook的使用之numpy模块的用法(2)
今日内容概要 numpy模块结束 ndarray创建 numpy内置方法 索引与切片(花式索引.布尔索引) 常用函数 统计方法 随机数 numpy的内置方法 import numpy as np 1. ...
- numpy.random模块用法小结
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9751471.html 1.np.random.random()函数参数 np.random.r ...
随机推荐
- 用shell将时间字符串与时间戳互转
date的详细用户可以参考下面的 http://www.cnblogs.com/xd502djj/archive/2010/12/29/1919478.html date 的具体用法可以查看另外一篇博 ...
- centos 使用yum安装MySQL 5.7
想在centos上安装一个MySQL,使用yum install mysql-server 安装提示仓库没有包,也是醉了. 找了很多博客,发现一个很好用的,推荐给大家. 地址:https://blog ...
- Makefile的补充学习2
Makefile中使用通配符(1)* 若干个任意字符(2)? 1个任意字符(3)[] 将[]中的字符依次去和外面的结合匹配 还有个%,也是通配符,表示任意多个字符,和*很相似,但是%一般只用于规则描述 ...
- OC-SEL 和 Class
[认识选择器]============================================ SEL 1.选择器(SEL)是一个变量类型. 2.选择器用来装成员消息(成员方法) people ...
- dubbo-monitor安装、 监控中心 配置过程
简单介绍下monitor: Simple Monitor挂掉不会影响到Consumer和Provider之间的调用,所以用于生产环境不会有风险. 配置好了之后可以结合admin管理后台使用,可以清晰的 ...
- CSS:Tutorial three
1.CSS Links links can be styled differently depending on what state they are in. The four links stat ...
- Week06《Java程序设计》第六次作业总结
Week06<Java程序设计>第六次作业总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行 ...
- VS2010 将程序发布至网站时,发生错误“未能给 bin/Debug/publish//setup.exe 签名“
VS2010 将程序发布至网站时,发生错误“未能给 bin/Debug/publish//setup.exe 签名“ 错误: 因为某项目未能生成,所以无法发布. ---------------- ...
- 9.proc目录下的文件和目录详解
1./proc目录下的文件和目录详解 /proc:虚拟目录.是内存的映射,内核和进程的虚拟文件系统目录,每个进程会生成1个pid,而每个进程都有1个目录. /proc/Version:内核版本 /pr ...
- tomcat8启动慢原因及解决办法
tomcat8在linux下安装使用一段时间后启动非常慢,6分钟左右. 原因是一个随机数生成参数导致的. 处理如下: 修改catalina.sh .配置JRE使用非阻塞的Entropy Source ...