Numpy常用属性及方法
Numpy
一、属性:
- ndarray.shape 返回一个元组,里面是各个维度的size
- ndarray.ndim 返回数组的维度
- ndarray.dtype 返回数组数据的类型
二、方法:
- np.array(x, dtype=complex) 接收一个数组, dtype指定数据类型,
- np.zeros( (3,4) ) 接收一个代表数组维度size的元组
- np.ones((3,4)) 同上
- np.arange(10, 30, 5) 返回一个起始为10,每次增加5,一直到30但不包括30的数组(本例返回[10, 15, 20, 25]),一般会跟reshape配合使用。
- np.linspace( 0, 2, 9 ) 将0-2分为九份
- numpy.random.rand(d0, d1, ..., dn) Create an array of the given shape and populate it with random samples from a uniform distribution(均匀分布) over [0, 1).
- numpy.random.randn(d0, d1, ..., dn) 功能与上面的类似,只不过randn是从标准正态分布中取值,如果不传入参数,则返回一个随机的数(取自标准正态分布)。要从
$$ N(\mu, \sigma^2) $$
中取值可以用这个公式sigma * np.random.randn(...) + mu
- a.ravel() # returns the array, flattened
- a.T # returns the array, transposed
- a.reshape(3,-1) If a dimension is given as -1 in a reshaping operation, the other dimensions are automatically calculated
- np.vstack((a,b))、np.hstack((a,b))
- numpy.concatenate((a1, a2, ...), axis=0, out=None) Join a sequence of arrays along an existing axis. 按照指定的axis进行连接
13.np.hsplit(a,(3,4)) # Split a after the third and the fourth column;类似的还有np.vsplit,这个是按行拆分,上面是按列拆分;
14.
运算:
- a+b a-b a*b 都是elementwise 运算;
- a.dot(b) 矩阵相乘运算;
- np.sin(a) 对矩阵a中的元素进行三角函数运算(类似的np.exp(a)、 np.sqrt(a));
- a**2 幂运算
- a<2 不等式运算。返回布尔值组成的数组,shape与a相同;
- a.sum() a.min() a.max(),三者都可接收一个axis作为参数,返回特定axis的sum、min、max
Indexing, Slicing and Iterating
- a[:6:2] = -1000 # equivalent to a[0:6:2] = -1000; from start to position 6, exclusive, set every 2nd element to -1000(从开始到位置6,但不包括a[6],然后往前每隔一个设为-1000)
- a[ : :-1] # reversed a,将a进行反转。a是一维数组。
- 对于多维数组
for row in b: row是每一行。
for element in b.flat: element是每个元素。
Copies and Views
有三种情况:
- No Copy at All,比如b=a,b只是a的引用,不会有新的object被创建,b is a 会返回True
- View or Shallow Copy,比如c = a.view(),c is a返回False,但是c.base is a会返回True,c的值改变,会引起a的值改变,但是c的shape改变,不会引起a的shape改变;
- Deep Copy,比如 d = a.copy(),d is a 与d.base is a 都会返回False,d是一个全新的对象,与a没有任何关系,d的改变不会引起a的改变。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
php 获取HTTP POST中不同格式的数据
HTTP协议中的POST 方法有多中格式的数据协议,在HTTP的head中用不同的Content-type标识.常用的有 application/x-www-form-urlencoded,这是最常见的,就是from表单的格式.在HTTP的head中是Content-Type: application/x-www-form-urlencoded. multipart/form-data,这个是用来上传文件的,在HTTP的head中是Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW Raw 这个不是特别常用,传输的数据在HTTP的body中只有一段,不是以键值对的形式存放.在HTTP的head中是Content-Type: application/json,Content-Type: text,Content-Type: application/xml,Content-Type: text/xml,等等形式 对于Content-Type: application/x-www-...
- 下一篇
Python的5种传参姿势,两分钟就能了解
位置实参 实参和形参的位置是关联对应的。一个实参对应一个相应位置的形参。 本人对于Python学习创建了一个小小的学习圈子,为各位提供了一个平台,大家一起来讨论学习Python。欢迎各位到来Python学习群:515267276一起讨论视频分享学习。Python是未来的发展方向,正在挑战我们的分析能力及对世界的认知方式,因此,我们与时俱进,迎接变化,并不断的成长,掌握Python核心技术,才是掌握真正的价值所在。 关键字实参 实参以 key=value 的形式传递,因为已经指明了将 value 传给哪个参数,所以位置顺序就无关紧要了。 默认值 可以给形参指定默认值,当没有提供实参的时候,就会使用默认值。 利用这个特性可以实现可选参数。 传递任意数量的实参 使用形参 *topping 可以使函数能够传递任意数量的实参。 传递的参数会被 封装到一个元组中
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装