一、numpy创建数组的几种方法
- 创建一个 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]]
- 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]]
- numpy.zeros 创建指定大小的数组,数组元素以 0 来填充:
numpy.zeros(shape, dtype = float, order = 'C')
- numpy.ones 创建指定形状的数组,数组元素以 1 来填充:
numpy.ones 创建指定形状的数组,数组元素以 1 来填充:
- 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]