numpy常用函数

a = np.array([1, 2, 3], dtype='float32')
b = np.array([[1, 2, 3], [4, 5, 6]])
c = np.array((1, 2, 3))

a = np.zeros((2, 5))
b = np.ones((2, 5))
c = np.empty((2, 5))

a = np.arange(10) #array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.arange(10, 30, 3) #array([10, 13, 16, 19, 22, 25, 28])
c = np.arange(10).reshape(2, 5) #array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9])
d = np.linspace(10, 30, 3) #array([10., 20., 30.])

a.ndim  #数组的维度:1
a.shape  #数组的形状:(3,)
a.dtype  #数组类型

a.astype('float32') #改变数组类型
a.round(1) #控制小数点,五舍六入


a[5:8] #[5,6,7]
a[5:8] = 10 #原数组被改变
a[:7:2] #起点,终点,步长

a = np.arange(24).reshape(2,3,4)
a[1][0][2] #索引,结果为14
a[1, 0, 2] #与上面等价
a[1, :2, :2] #花式索引

a > 13 #返回bool数组
a[a > 13] #返回所有满足条件的值(一维数组)
a[(a > 10) & (a < 20)] #多条件


a = np.arange(10).reshape(2, 5)
a1 = np.arange(10, 15)
a + 10 #所有元素加10
a + a #相同形状数组运算,对应元素进行运算
a + a1 #行的大小相同,所以在行上进行广播

a.T #转置
np.dot(a, a.T) #矩阵乘法
a.transpose() #转置
b = a.flatten() #数组扁平化,不改变原数组

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
np.concatenate([a, b]) #默认在0轴上进行合并
'''
array([[1, 2],
    [3, 4],
    [5, 6],
    [7, 8]])
'''`

a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
np.stack([a, b]) #增加一个维度合并
'''
array([[1, 2, 3, 4],
    [5, 6, 7, 8]])
'''

np.unique(a) #获取唯一值
np.sqrt(a) #开根
np.sin(a) #正弦
np.cos(a) #余弦
~b>a #取反

a = np.random.randn(5, 4)
np.mean(a) #数组均值
np.sum(a) #数组求和
np.sum(a, axis=0) #在0轴上求和
np.sum(a, axis=1) #在1轴上求和
np.max(a) #最大值
np.min(a) #最小值
np.std(a) #标准差
np.median(a) #中位数
np.cumsum(a) #累加
np.cumprod(a) #累乘
np.any(a > 0) #存在
np.all(a > 0) #任意
np.sort(a) #排序
np.argsort(a, axis=0) #排序后的索引
np.argmin(a) #最小值的索引

np.random.normal(loc=0, scale=1e-2, size=(3, 5)) #正态分布,loc为均值,scale为标准差,size为形状
np.random.randn(3, 5) #标准正态分布
np.random.randint(1, 10, (3, 5)) #生成[1,10)之间的整数
np.random.choice([1, 2, 3, 4, 5]) #随机抽样
np.random.permutation([1, 2, 3, 4, 5]) #乱序
np.random.seed(12) #随机种子

a = np.array([1, 2, 3, 4, 5])
b = np.array([10, 20, 30, 40, 50])
c = np.array([True, False, True, True, False])
np.where(c, a, b) #若c为True选a,否则选b

np.save(filename, a) #保存ndarray
b = np.load(filename) #获取ndarray
posted @ 2022-05-02 21:42  pbc的成长之路  阅读(44)  评论(0编辑  收藏  举报