Numpy:用于处理和储存大型矩阵的库
安装:
yum install numpy
conda install numpy
#import numpy as np
# from numpy import random
#
# #np.arange类似range
# a=np.arange(32).reshape((2,4,4))
# '''
# [[[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]
# [12 13 14 15]]
#
# [[16 17 18 19]
# [20 21 22 23]
# [24 25 26 27]
# [28 29 30 31]]]'''
# #索引
# b=a[1][2][1] #显示25
# #切片
# '''[[ 8 9 10 11]
# [24 25 26 27]]
# '''
# c=a[:,2,:]
#
# '''[[ 1 5 9 13]
# [17 21 25 29]]'''
# d=a[:,:,1]
#
#
# '''[[[ 5 6]
# [ 9 10]
# [13 14]]
#
# [[21 22]
# [25 26]
# [29 30]]]'''
# f=a[:,1:,1:-1]
# 平均分成三个数组 np.split(array,x) if type(x)=int 平均分配
# [array([0, 1, 2, 3]), array([4, 5, 6, 7]), array([ 8, 9, 10, 11])]
# g=np.split(np.arange(12),3)
# 按下标位置分成三组
# [a,b] array[0:a] array[a:x] array[x:] len[x:]==b
# h = np.split(np.arange(9), [3, -5])
# 拼接 拼接的array写到一个元组里
# '''[[0 1 2]
# [3 4 5]]
# [[ 6 7 8]
# [ 9 10 11]]'''
# l0 = np.arange(6).reshape(2, 3)
# l1 = np.arange(6,12).reshape((2, 3))
# #沿纵轴拼接
# '''[[ 0 1 2]
# [ 3 4 5]
# [ 6 7 8]
# [ 9 10 11]]'''
# m=np.vstack((l0,l1)) #q = np.concatenate((l0, l1))
#
# #沿横轴拼接
# '''[[ 0 1 2 6 7 8]
# [ 3 4 5 9 10 11]]'''
#
# n=np.hstack((l0,l1)) #r = np.concatenate((l0, l1), axis=-1)
# 增加一个纬度
# '''[[[ 0 1 2]
# [ 3 4 5]]
#
# [[ 6 7 8]
# [ 9 10 11]]]'''
# s=np.stack((l0,l1))
# 转置
# 二维array的转置 transpose方法 .T属性 swapaxes方法
# '''[[0 3]
# [1 4]
# [2 5]]
# [[0 3]
# [1 4]
# [2 5]]'''
#ar=np.arange(6).reshape(2,3)
# print(ar.T)
# print(ar.transpose())
#多维array的转置暂时还没搞懂
# ##基础数学运算
# '''绝对值:[6 7 2]'''
# print(np.abs([-6,7,-2]))
# '''sin函数:1.0'''
# print(np.sin(np.pi/2))
# '''次方:3*3=27'''
# print(np.power(3,3))
# '''开方:6.0'''
# print(np.sqrt(36))
# '''求和:15'''
# print(np.sum(np.arange(6)))
# '''求平均值:6.0'''
# print(np.mean([4,5,6,7,8]))
# '''标准差:np.std()'''
#array之间的运算+-*/ ** <如果纬度相同,则对应纬度进行运算>
# '''[[ 1 4 9]
# [ 4 10 18]]'''
# a=np.array([[1,2,3],[1,2,3]])
# b=np.array([[1,2,3],[4,5,6]])
# print(a*b)
# <如果某array与另一个array子纬度相同,则分别进行运算>
# '''[[2 4]
# [4 6]
# [6 8]]'''
# a=np.array([1,2])
# b=np.array([[1,2],[3,4],[5,6]])
# print(a+b)
#############random 模块##############
#随机数种子
# random.seed(42)
# 生成a*b*c 的array 每个数为[0,1)里的随机浮点数
# print(random.rand(2,2,4))
# random.random((3, 3))
# random.sample((3, 3))
# random.random_sample((3, 3))
# random.ranf((3, 3))
#随机生成[1,4)的随机数
# print(random.uniform(1,4,3)) #浮点型
# print(random.randint(1,4,3)) #整数型
#a = np.arange(10)
#
# # 从a中有回放的随机采样7个
# print(random.choice(a, 7))
#
# # 从a中无回放的随机采样7个
# print(random.choice(a, 7, replace=False))
#
# # 对a进行乱序并返回一个新的array
# print(random.permutation(a))
# np.random.shuffle(a)#对序列打乱 无返回值
######### numpy.random.normal() 高斯分布随机数#########
#API: normal(loc=0.0, scale=1.0, size=None)
#loc:均值,scale:标准差,size:抽取样本的size
# '''[[ 0.42041141 -0.5067259 -1.75613624]
# [-0.6653468 1.53706222 -1.67955704]]'''
# n = np.random.normal(loc=0.0, scale=1, size=[2,3])
# print(n)
######### numpy.random.randn() 标准正态分布随机数#########
#numpy.random.randn(d0, d1, …, dn)函数:
#从标准正态分布中返回一个(d0*d1* …* dn)维样本值
# '''[[[ 0.73337647 1.09972846 1.23195031]
# [-0.57164433 0.78799456 0.19965629]]
#
# [[-0.79699024 -0.63573993 1.43197953]
# [-0.36167178 -1.3263573 1.03402977]]
#
# [[ 0.67319901 1.69376297 -1.78061542]
# [ 0.54296244 -0.06592913 1.20112623]]
#
# [[ 0.46980367 0.28776892 0.35763454]
# [-1.74770128 0.57341897 -0.53370068]]]
# '''
# print(np.random.randn(4, 2, 3))
未完待续.....