numpy方法介绍
三、numpy系列
1、np.maximum:(X, Y, out=None)
X 与 Y 逐位比较取其大者;
最少接收两个参数
h=[[-2,2,10],[-5,-9,20]]
hh=np.maximum(h, 1)
hh=[[1,2,10],[1,1,20]]
2、np.max:(a, axis=None, out=None, keepdims=False)
求序列的最值
最少接收一个参数
axis:默认为列向(也即 axis=0),axis = 1 时为行方向的最值;
3、np.array([[1,2,3],[4,5,6]])
创建np数组
a[:,0] 输出结果为[1, 4]
4、np.linspace(-5,5,200)[:,np.newaxis];,
生成线性随机x数据,数据-5到5,总共200个
5、np.random.normal(0,0.5,x_data.shape);
生成0-0.5高斯分布的 x_data.shape类型的数据
6、矩阵变换、变形
a.reshape(-1) a.reshape(3, 4, -1) a.T # 转置 a.transpose() # 转置
numpy.linalg.inv(a) # 求逆
a.diagonal([offset, axis1, axis2]) #对角元
numpy.einsum('iijj->ij',a) numpy.r_[a,b] # 在a中增加新行b numpy.c_[a,b] # 新列
7、一般运算
y = x # 建立引用,修改x会影响y
y = x.copy() # 建立副本,修改x不会影响
y a.dot(b) # 矩阵乘法
numpy.dot(a,b) # 矩阵乘法 numpy.trace(a) #求迹
8、特殊矩阵
a = numpy.zeros([4,5]) # all zero
a = numpy.ones([7,6]) # all one
a = numpy.eye(4,7) # 4x7 diagonal 对角线
a = numpy.diag(range(5)) # 5x5 diagonal 对角线
a = numpy.empty((2,3))
a = numpy.arange(10, 30, 5) # array([10, 15, 20, 25]), 1-D
a = numpy.linspace(0, 2, 9) # 9 numbers from 0 to 2
a = numpy.random.random((2,3)) # 随机数矩阵
a = numpy.fromfunction(f,(5,4),dtype=int) # 从函数f(x,y)建立
9、numpy.tile(A,reps)
tile共有2个参数,A指待输入数组,reps则决定A重复的次数。整个函数用于重复数组A来构建新的数组。
假设reps的维度为d,那么新数组的维度为max(d,A.ndim)。下面分三种情况进行讨论:
(1)A.dim < d
则向A中添加新轴扩充A的维度。维度大小可以从shape中看出,一般通过向shape对应的元组中添加1完成对A维度的扩充。扩充完成后,则可根据reps的值对A中相应维度的值进行重复。例如,一维数组shape为(3,),扩充至2维则shape值为(1,3),扩充至3维则shape值为(1,1,3)
(2)A.dim > d
将reps扩充至与A相同的维度。扩充方法同上,也是向shape对应元组中添1,然后再进行重复。例如,4维数组A的shape为(2,3,4,5),而reps为(2,2)只有2维,那么就要对reps添维进行扩充,得到(1,1,2,2)
(3)A.dim = d
不需要扩充,直接按reps的值对相应维度的值进行重复。
>>>from numpy import *
>>> a = array([1,2,3])
>>>print a.shape
(3.)
>>>print a.ndim
1
>>>b = tile(a,2)
>>>print b
[1 2 3 1 2 3]
>>>print b.shape
(6,)
>>>print b.ndim
1
>>>c = tile(a,(2,3))
>>>print c
[[1 2 3 1 2 3 1 2 3]
[1 2 3 1 2 3 1 2 3]]
>>>print c.shape
(2,9)
>>>print c.ndim
2
最新文章
- Hibernate的映射文件
- 会计凭证BAPI_ACC_DOCUMENT_POST
- java中将一个字符数组赋值给另一个,两者同时变化
- 20145103《java程序设计》第五周学习总结
- MySQL类型属性Unsigned与ZeroFill
- ubuntu10.04搭建嵌入式开发环境
- 【Linux】常用命令-统计代码行数
- Yaf-Plus 我们只谈框架这件事
- Android 关于资源适配
- MonkenRunner通过HierarchyViewer定位控制的方法和建议(Appium/UIAutomator/Robotium侣)
- Optional乱用Empty之No value present
- Javascript async异步操作库简介
- BUILDING WITH BOOTSTRAP
- centos7 firewall-cmd 用活firewalld防火墙中的zone
- 英国BBC出的这套中国风海报,设计美哭了!
- Python编写API接口
- Ubuntu 16.04实现SSH无密码登录/免密登录/自动登录(ssh-keygen/ssh-copy-id)
- class() 高级用法 -- lua
- How MySQL Uses Indexes CREATE INDEX SELECT COUNT(*)
- mvn编译