欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力
对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
专栏:
文章概述:对 Numpy函数之random、arange、reshape、flatten、linspace、zeros、ones、empty、identity、eye&常用数学函数&整合、切分、追加、插入的介绍
关键词:Numpy函数之random、arange、reshape、flatten、linspace、zeros、ones、empty、identity、eye&常用数学函数&整合、切分、追加、插入
本文目录:
实用的Numpy函数
random
np.random.random(size=2) #从区间0~1之间取值,有可能取得0
np.random.normal(size=2) #从正态分布中取值,均值为0,方差为1
np.random.rand(2,4) #根据均匀分布随机取值
np.random.randint(2,100,size=(2,4))
arange
# arange
np.arange(10)
np.arange(5, 10)
np.arange(0, 1, .1)
reshape
# reshape
np.arange(10).reshape(2, 5)
np.arange(10).reshape(5, 2)
np.arange(10).reshape((5,2,1))
flatten(变成一维数组)
np.arange(10).reshape((5,2,1)).flatten()
linspace
# linspace
np.linspace(0,1,5)
np.linspace(0,1,20)
np.linspace(0,1,20,False)
zeros, ones, empty
# zeros, ones, empty
np.zeros(5)
np.zeros((3,3))
np.zeros((3,3), dtype=int)#元素是整形0
np.ones(5)
np.ones((3,3))
#只开辟空间,里面可能是不需要的值,不确定
#但是后期可以为这个空数组赋值,会快很多
np.empty(5)
np.empty((2,2))
identity and eye
identity就是创建对角矩阵
eye可以创建对角矩阵,也可以不是标准的对角矩阵,只要求对角线是1
# identity and eye
np.identity(3)
np.eye(3,3)
np.eye(8,4)
np.eye(8,4,k=1)
np.eye(8,4,k=-3)
k
:对角线的位置。k=0
表示主对角线,k>0
表示在主对角线之上,k<0
表示在主对角线之下。
Numpy函数之常用数学函数
import numpy as np
x = np.array([
[1,2,3],
[4,5,6],
[7,8,9]
])
print(np.sin(x))
print(np.cos(x))
print(np.exp(x))
print(np.log(x))
print(np.sqrt(x))
Numpy数组的整合、切分、追加、插入
整合与切分array
concatenate stack
a = np.array([
[1,2,3,7],
[4,5,6,7],
[7,8,9,7]
])
b = np.array([
[10, 20, 30, 40],
[50, 60, 70, 80],
[70, 80, 10, 20],
])
c = np.concatenate((a,b))
print(c)
c2 = np.stack((a,b)) # 创建一个新的维度
print(c2)
print(c.shape)
print(c2.shape)
#横向
d=np.hstack((a,b))
print(d)
#纵向
e=np.vstack((a,b))
print(e)
a = np.array([
[1,2,3,7],
[4,5,6,7],
[7,8,9,7],
[8,5,3,1]
])
print(np.split(a, 4))
print(np.split(a, 2))
print(np.hsplit(a, 4))
print(np.hsplit(a, 2))
追加与插入
#b = [10, 20 ,30 ,40]
#a = np.append(a,b)
#print(a)
b =np.array([10, 20 ,30 ,40]).reshape(1,4)# 需要有同样的维度
a = np.append(a,[b])
#print(a) 还是不行
a = np.append(a,b,axis=0) # 还需要选择维度,以行的形式添加
print(a)
a = np.insert(a,1,b,axis=0) # 另一种做法,将b以行的形式插入到a中下标是1的位置上去
print(a)