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