Numpy 用法小结

1.  asarray 函数

可以将输入数据转化为矩阵格式。

输入数据可以是(列表,元组,列表的列表,元组的元组,元组的列表等这些数组形式)。

>>> asarray([(1,2,3),(4,5,6),(7,8,9)])   ##元组的列表
>>> asarray([[1,2,3],[4,5,6],[7,8,9]])   ##列表的列表
>>> asarray(((1,2,3),(4,5,6),(7,8,9)))   ##元组的元组

array([[1, 2, 3],                                     # 结果相同
       [4, 5, 6],
       [7, 8, 9]])

语法:

asarray(a,  dtype=None,  order=None)

第一参     a      :    输入数据,一般都是可以转化为数组的格式,参考上面例子。

第二参     dtype:   data-type, optional;  By default, the data-type is inferred from the input data.  比如float32,float64

第三参    order:两个值, 'C'  row major or  column  'F'   fortran;

转化为数组后,可以对数组进行大小判断:

# 判断a中数是否大于0,如果大于0,则将该数置为1,

# 1 未转换为数组,就判断与0的大小
>>> a = [[3,2],[2,0]]  
>>> numpy.asarray(a>0,'i') #'i'表示为dtype类型为int  
# 出现array(1.0, dtype=float32)  

>>> a = [[1,2],[1,0]]  
>>> a = numpy.asarray(a)  #必须先转换为array
>>> numpy.asarray(a>0,'i') 

array([[1, 1],  
       [1, 0]])   

 

2.  shape 函数

能够读取矩阵的长度(形状)

>>> a=[[2,3,4],[4,5,6],[3,4,5]]
>>> from numpy import *

>>> b=asarray(a)

>>> b.shape
(3L, 3L)
>>> b[1].shape
(3L,)

输入可以是,整数,矩阵,也可以是矩阵的某一维(可以计算其长度)

 

3. Numpy 保存和读取数据

一维和二维数组(矩阵)可以用 savetxt() 保存和loadtxt() 快速保存和读取;

savetxt("e:/python/movie_ratings/item_similarity.txt",  item_similarity_np)

reloaded_matrix=loadtxt("e:/python/movie_ratings/item_similarity.txt")

更一般的方法是save() 和load(), 此时文件名一定会被置为 .npy

4. arange函数

arange函数用于创建等差数组,类似range函数,经常用于for循环;

两者的区别仅仅是arange返回的是一个数据 array,而range返回的是list

5.  zeros, ones  

生成0,1数组, 注意是 双括号

>>> numpy.ones((10,10))
array([[ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.]])

6. mat 把数组转换为矩阵

   numpy 的一个重要对象是 numpy.matrix。 

   包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中。

   具体函数列表参考:

   http://blog.csdn.net/qq403977698/article/details/47254539

--------------------------------------------------------

其他非numpy的函数:

xlist=[0,1,1,2,3]

set(xlist) 可以去重,生成集合set 类型。