numpy常用方法总结

一、numpy创建数组的几种方法

  1. 创建一个 ndarray 只需调用 NumPy 的 array 函数即可: 
    numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
    参数说明:
    名称	描述
    object	数组或嵌套的数列
    dtype	数组元素的数据类型,可选
    copy	对象是否需要复制,可选
    order	创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
    subok	默认返回一个与基类类型一致的数组
    ndmin	指定生成数组的最小维度
    import numpy as np
    
    a = [[1,2,3,4,5],[6,7,8,9,10]]
    a = np.array(a)
    
    print(a)
    
    [[ 1  2  3  4  5]
     [ 6  7  8  9 10]]

     

  2. numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:
    numpy.empty(shape, dtype = float, order = 'C')
    import numpy as np
    
    b = [[1,2],[3,4]]
    b = np.array(b)
    
    a = np.empty(b.shape)#np.empty((2,2))
    print(a)
    
    [[1.87062952e-077 3.21450328e+164]
     [1.85692977e+216 1.99392236e-077]]

     

  3. numpy.zeros 创建指定大小的数组,数组元素以 0 来填充:
    numpy.zeros(shape, dtype = float, order = 'C')

     

  4. numpy.ones  创建指定形状的数组,数组元素以 1 来填充:
    numpy.ones  创建指定形状的数组,数组元素以 1 来填充:

     

  5. numpy.arange()
    a=np.arange(5)
    print(a)
    
    
    [0 1 2 3 4]

     

二、np.concatenate() 对数组拼接

a=np.array([1,2,3])
b=np.array([11,22,33])
c=np.array([44,55,66])
print (np.concatenate((a,b,c),axis=0))  # 默认情况下,axis=0可以不写
[ 1  2  3 11 22 33 44 55 66]

a=np.array([[1,2,3],[4,5,6]])
b=np.array([[11,21,31],[7,8,9]])
print(np.concatenate((a,b),axis=1))
[[ 1  2  3 11 21 31]
 [ 4  5  6  7  8  9]]

 三、numpy.flatnonzero()

numpy.flatnonzero(y_train == y)  
Y_train是一个ndarrau对象,
y是Y_train中的一个元素值, 
该函数返回Y_train中元素值为y的下标集合


import numpy as np
a = [2,3,1,5,4,1,1,2]
a = np.array(a)

print(np.flatnonzero(a == 1))

[2 5 6]


四、numpy.random.choice()

np.random.choice(idxs, 7, replace=False)#在idxs中随机选择七个元素

五、numpy.argsort()

np.argsort(b)   把b中的元素从小到大排列,返回下标
b = [5,2,2,1,6]
print(np.argsort(b))
[3 1 2 0 4]

 

你可能感兴趣的:(机器学习笔记,numpy,flatnonzero,机器学习)