Numpy知识点总结
- 
Numpy数组ndarray对象与python里面列表list最大的区别: ndarray里面只能存储相同类型的元素 list对象能存储不同类型的元素 1. ndarray.ndim #维度个数,一维 二维 三维 2. ndarray.shape(n,m) #数组的形状n行m列 3. ndarray.size #元素的个数 4. ndarray.dtype #数组的类型 5. ndarray.itemsize #每个元素字节的大小
- 
zeros 、 ones 、 empty 1. c = np.zeros((3,4)) c Out[26]: array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]) 2. d = np.ones((5,6)) d Out[28]: 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.]]) 3. d.dtype Out[31]: dtype('float64') 4. np.empty((2,3)) Out[29]: array([[6.23042070e-307, 1.89146896e-307, 1.37961302e-306], [6.23053614e-307, 6.23053954e-307, 1.24611470e-306]]) 5. np.arange(1,11,2) Out[30]: array([1, 3, 5, 7, 9])
- 
Numpy里面常用的数据类型   
- 
数据类型的特征码  
b
array([[1, 2, 3],
       [4, 5, 6]])
       
b.dtype
dtype('int32')
new_b = b.astype(np.string_)
new_b.dtype
dtype('S11')
new_b
array([[b'1', b'2', b'3'],
       [b'4', b'5', b'6']], dtype='|S11')
       
new_b = b.astype(np.float32)
new_b
array([[1., 2., 3.],
       [4., 5., 6.]], dtype=float32)
- 
数组运算的三种方式  
6.ndarray的索引和切片的使用
 一维数组和python类似
	二维数组:
7.布尔索引的基本使用
import numpy as np
a = np.arange(16).reshape(4,4)
a
>>>array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
arr = np.array([True,False,False,True])
a[arr]
>>>array([[ 0,  1,  2,  3],
       [12, 13, 14, 15]])
8.数组的转置和轴对称
T属性转置:		 #二维,将原有的行变为列,列变为行
				#三维(0,1,2)-->(2,1,0)逆置
a
>>>array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
b=a.T
b
>>>array([[ 0,  4,  8, 12],
       [ 1,  5,  9, 13],
       [ 2,  6, 10, 14],
       [ 3,  7, 11, 15]])
       
       
transpose()方法转置:
c = a.reshape(4,2,2)
c
>>>array([[[ 0,  1],
        [ 2,  3]],
       [[ 4,  5],
        [ 6,  7]],
       [[ 8,  9],
        [10, 11]],
       [[12, 13],
        [14, 15]]])
c.transpose()
>>>array([[[ 0,  4,  8, 12],
        [ 2,  6, 10, 14]],
       [[ 1,  5,  9, 13],
      
swapaxes转置:
c
>>>array([[[ 0,  1],
           [ 2,  3]],
          [[ 4,  5],
           [ 6,  7]],
          [[ 8,  9],
           [10, 11]],
          [[12, 13],
           [14, 15]]])
c.shape
>>>(4, 2, 2)
c.swapaxes(0,2)
>>>array([[[ 0,  4,  8, 12],
           [ 2,  6, 10, 14]],
          [[ 1,  5,  9, 13],
9.Numpy通用函数(ufunc)
一元通用函数:

二元通用函数:

10.将条件逻辑转化为数组运算
where
- 
np.where(a,b,c) 条件a为True则返回b,否则返回c 
数组统计运算

和排序相关的函数sort()函数:
a= np.array([[2,3,1],[6,5,4],[7,9,8]])
a
>>>array([[2, 3, 1],
          [6, 5, 4],
          [7, 9, 8]])
a.sort()   #对数组a本身进行了排序
a
>>>array([[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]])
检查函数all()
a
>>>array([[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]])
np.all(a>1)
>>>False
唯一化函数unique() (去重)
a = np.array([1,1,2,2,3,3,4,5,6,7,7,8,8,9,9])
np.unique(a)
>>>array([1, 2, 3, 4, 5, 6, 7, 8, 9])
一个数组的元素在另一个数组是否存在用 in1d() 函数
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
b=np.array([1,5,9])
np.in1d(a,b)
>>>array([ True, False, False, False,  True, False, False, False,  True])
其他函数:

作者:王韩六六
        
        本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  
     
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号