您的位置:首页 > 编程语言 > Python开发

theano学习札记

2014-09-23 10:41 393 查看
Numpy是Python中的一个矩阵计算包,功能类似于MATLAB的矩阵计算。


NumPy is the fundamental package for scientific computing with Python. It contains among other things:

a powerful N-dimensional array object(多维数组对象)

sophisticated (broadcasting) functions(复杂的广播函数)

tools for integrating C/C++ and Fortran code(集成了c及c++以及Fortran代码片段)
useful linear algebra, Fourier transform, and random number capabilities(线性代数,傅立叶变换以及随机数等功能)

(1) 定义矩阵
<pre name="code" class="python">>>>import numpy as np
>>>a = np.array([[1,2.2,3],[4,5,6]])
>>>a.ndim
2

>>>a.shape

(2,3)

>>>a.size

6

>>> type(a)

<type numpy.ndarray>


矩阵成员

     a.max(): 返回矩阵的最大值

     a.min(): 返回矩阵最小值

     a.sum(): 求和

     a.mean(): 求均值

     a.max(axis): 0-按列求值,返回一行, 1-按行求值,返回一列

     a.transpose(): 转置

矩阵或向量运算,应该采用
numpy
scipy
,做法是:
1
2
3


import math
import numpy as np
import scipy as sp


然后就可以进行运算了,比如加法、除以一个数:
1
2
3


npdata=np.array(data)
data_sum=np.add(npdata,npdata)
data_frac=np.true_divide(npdata,2)


也可以按列合并矩阵(要求两矩阵行数一样):

new_matrix=np.hstack([mat1,mat2])


或按行合并矩阵(要求两矩阵列数一样):

new_matrix=np.vstack([mat1,mat2])


合并矩阵的命令同样可以用于合并向量,但是合并向量的时候有时会提示行列数不对,那可能是因为一个的维度是
(n个)
,而另一个的维度是
(n列,1行)
,这种情况下,可用
reshape
来进行转换:
1
2


array2=array2.reshape(n)
new_array=np.hstack([array1,array2])


查看矩阵或向量维度的办法是:

xxx.shape


对于一个矩阵,若按其第一列元素大小顺序来对整个矩阵进行行排序,则执行:

mat1=mat1[mat1[:,0].argsort()]


在屏幕上输出数组:

print mat1


保存一个矩阵到文件:

np.savetxt(输出文件名,矩阵名)



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python numpy