numpy的函数讲解

边学边记
1、numpy对矩阵的处理很强大,少用list,多使用array
np.array( x):将输入数据转化为一个类型为type的ndarray
np.asarray( array ):将输入数据转化为一个新的ndarray
np.array( )与np.asarray( )区别:当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会
2、np.shape( )
得到矩阵的形状
3、np.reshape( )
将矩阵变形,得到副本。
4、np.delete( )
删除某轴的某个元素

>>> arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
>>> arr
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
>>> np.delete(arr, 1, 0)
array([[ 1,  2,  3,  4],
       [ 9, 10, 11, 12]])

5、np.vstack( )
纵向连接矩阵

>>> a = np.array([1, 2, 3])  
>>> b = np.array([2, 3, 4])  
>>> np.vstack((a,b))  
array([[1, 2, 3],  
       [2, 3, 4]])  

6、np.hstack( )
横向连接矩阵

>>> a = np.array((1,2,3))  
>>> b = np.array((2,3,4))  
>>> np.hstack((a,b))  
array([1, 2, 3, 2, 3, 4])  
>>> a = np.array([[1],[2],[3]])  
>>> b = np.array([[2],[3],[4]])  
>>> np.hstack((a,b))  
array([[1, 2],  
       [2, 3],  
       [3, 4]])

7、np.stack(arrays, axis=0)
连接矩阵

>>> a = np.array([1, 2, 3])  
>>> b = np.array([2, 3, 4])  
>>> np.stack((a, b))  
array([[1, 2, 3],  
       [2, 3, 4]])  

>>> np.stack((a, b), axis=-1)  
array([[1, 2],  
       [2, 3],  
       [3, 4]])  

8、np.concatenate((a1, a2, …), axis=0)
连接矩阵

>>> a = np.array([[1, 2], [3, 4]])  
>>> b = np.array([[5, 6]])  
>>> np.concatenate((a, b), axis=0)  
array([[1, 2],  
       [3, 4],  
       [5, 6]])  
>>> np.concatenate((a, b.T), axis=1)  
array([[1, 2, 5],  
       [3, 4, 6]])  

9、np.random.permutation()
对数据洗牌,常用于数据预处理

import numpy as np 
a = [1,2,3,4,5,6]
b = np.random.permutation(a)
print b

>>>[1 4 5 6 2 3]

10、np.ndarry()
生成矩阵

#coding:utf-8
import numpy as np

a = np.ndarray(shape=(3,2),dtype=float)
print a

>>>[[  6.92620649e-310   1.29780452e-316]
 [  6.92619672e-310   6.92620665e-310]
 [  4.67416140e-317   6.92619572e-310]]
可以认为全0矩阵

猜你喜欢

转载自blog.csdn.net/liushui94/article/details/78273696