numpy的安装和创建

安装

1.以管理员的形式打开cmd

numpy的安装和创建

2.输入命令安装numpy

pip insatll numpy

3.使用以下命令查看是否安装成功

pip list

numpy的安装和创建

创建numpy

数据创建

使用array创建

array语法

"""
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
"""
import numpy as np

#使用array创建一维数组
list01 = [1,2,3,4]
np01 = np.array(list01)
print(np01)
print(type(np01))
#使用array创建二维数组
list02 = [[1,2,3,4],[5,6,7,8]]
np02 = np.array(list02)
print(np02)
print(type(np02))
#使用array创建三维数组
list03 = [[[1,2,3,4],[5,6,7,8],[9,10,11,12]]]
np03 = np.array(list03)
print(np03)
print(type(np03))

维数的理解

array参数的使用

参数 参数及描述
Object 任何序列类型
dtype 数组的所需数据类型,可选。
copy 可选,默认为true,对象是否被复制。
order C(按行)、F(按列)或A(任意,默认)。
subok 默认情况下,返回的数组被强制为基类数组。如果为true,则返回子类。
ndimin 指定返回数组的最小维数。
#  Object  任何序列类型  
tuple01 = (1,2,3)
list01= [1,2,3]
set01 = {5,6,7}
dict01 ={"张三":10,"李四":20}
np01= np.array(dict01)
print(np01)

#dtype    数组的所需数据类型,可选。  
list01 = [1,2,3]
np01= np.array(list01,dtype=float)
print(np01)


"""
说明 np02 是 np01 的副本,两个是不同的对象
所以np02 和 np01 的数据不同
"""
list01 = [1,2,3]
np01= np.array(list01)
np02=np.array(np01,copy=True)
np02[0]=10
print(np01)
print(np02)
"""
可以看到数据是一样的,说明np02和np01是同一个对象
"""
list01 = [1,2,3]
np01= np.array(list01)
np02=np.array(np01,copy=False)
np02[0]=10
print(np01)
print(np02)

#由于order效果不明显,也不常用,在这里作为了解

#subok    默认情况下,返回的数组被强制为基类数组。如果为true,则返回子类。 
#matrix 是矩阵 之后会给大家详细讲解先回用
np01 = np.matrix('1 2 7; 3 4 8; 5 6 9')
print(type(np01))
print(np01)
np02 = np.array(np01, subok=True)
np03 = np.array(np01, subok=False)
print(type(np02)) #<class 'numpy.matrix'> 如果是true返回矩阵
print(type(np03)) #<class 'numpy.ndarray'>如果是False,强制改为了数组

#ndimin    指定返回数组的最小维数。  
list01 = [1,2,3]
np01= np.array(list01,dtype=float,ndmin=3)
print(np01)

使用arange创建

先来复习以下range函数
"""
range(start,stop,step)  函数可创建一个整数列表
1.不写start,默认从0开始
2.左开右闭
3.step步长,不写默认是1
"""
for i in range(10):
    print(i)
"""
arange(start,stop,step,dtype) 
1.不写start,默认从0开始
2.左开右闭
3.step步长,不写默认是1
"""
#一维数组
a = np.arange(10) #[0 1 2 3 4 5 6 7 8 9]
a = np.arange(2,10) #[2 3 4 5 6 7 8 9]
a = np.arange(1,10,2) #[1 3 5 7 9]
a = np.arange(1,10,2,dtype=float)
print(a)
#二维数组
#切记前面的12,必须满足3*4
np01  = np.arange(12).reshape(3, 4)
print(np01)

使用 random 创建数组

常用的random函数

函数 描述
np.random.random(size) 生成0到1之间的随机数
np.random.randint(low,high=None,size=None,dtype="1") 生成随机的整数
np.random.randn(d0,d1,d2,d3.........) 生成标准正态的随机数(期望为0,方差为1)
np.random.normal(loc,scale,size) 生成正态分布(指定期望和方差)
np.random.uniform(low,high,size) 生成均勻分布的随机数
np.random.shuffle() 随机打乱顺序
np.random.seed() 设置随机数种子
np.random.sample(size) 生成随机的浮点数
# np.random.random()    生成0到1之间的随机数  
#创建一维数组   size生成几个数据,可直接写4
np01= np.random.random(size=4) #[0.13475357 0.8088961  0.52055803 0.49706622]
#创建二维数组  size=(3,4) 3行4列 可用()和[] ,效果一样
np01= np.random.random((3,4))
#创建三维数组  两个三行四列
np01= np.random.random((2,3,4))
print(np01) 

"""
np.random.randint(low,high=None,size=None,dtype="1")   生成随机的整数  
low:开始
high=None :结束
size:长度
dtype数据类型,默认是int32  no01.dtype属性
1.左开右闭
2.不写low默认是0

"""
#创建一维数组
np01= np.random.randint(1,11,10)#1-10
#创建二维数组
np01= np.random.randint(1,11,(3,4))#1-10
#创建三维数组
np01= np.random.randint(1,11,(2,3,4))#1-10
print(np01)
#创建标准的正态分布
#一维数组
np01=np.random.randn(4)
#二维数组
np01=np.random.randn(2,4)
#三维数组
np01=np.random.randn(3,2,4)
print(np01)
"""
np.random.normal(loc,scale,size)生成正态分布(指定期望和方差)
loc: 期望,默认0
scale: 方差,默认1.0
size: 长度
"""
np01= np.random.normal(size=5)
np01= np.random.normal(loc= 2,scale=3,size=5)
np01= np.random.normal(size=(2,3,5))
print(np01)
"""
np.random.uniform(low,high,size) 生成均勻分布的随机数
low: 不写默认是0,
high: 结尾,
: 长度
1.左开右闭
"""
np01= np.random.uniform(size= 4)#四个数据几乎不会相差太多,比较均匀
np01= np.random.uniform(size= (2,4))
np01= np.random.uniform(high=3)
print(np01)
"""
np.random.shuffle(ArrayLike)随机打乱顺序
"""
np01 = np.array([2,5,6,7,3])
print(np01)
np.random.shuffle(np01)
print(np01)
"""
np.random.seed()设置随机数种子
从每堆种子里选出来的数都是不会变的,从不同的堆里选随机种子每次都不一样,若想每次都能得到相同的随机数,每次产生随机数之前,都需要调用一次seed()
"""
np.random.seed(1)
np01= np.random.randint(1,10,size= 5)
np.random.seed(1)
np02= np.random.randint(1,10,size = 5)
print(np01)
print(np02)
"""
np.random.sample(size)  生成随机的浮点数
"""
np01= np.random.sample(size=2)
print(np01)
np02= np.random.sample(size=(2,3))
print(np02)

使用zeros创建数组

numpy.zeros(shaps,dtype=float,order="C") #创建指定大小的数组,数组以0填充
"""
numpy.zeros(shaps,dtype=float,order="C") #创建指定大小的数组,数组以0填充
shaps:维度
dtype:数据类型
order:按行按列
"""
np01= np.zeros(5) #[0. 0. 0. 0. 0.]
np01= np.zeros(5,dtype="int32")  #[0 0 0 0 0]
np01= np.zeros((2,5),dtype="int32") 
"""
[[0 0 0 0 0]
 [0 0 0 0 0]]
"""
print(np01)

创建特定形状的多维数组

函数 描述
np.zeros((3, 4)) 创建3×4的元素全为0的数组
np.ones((3, 4)) 创建3×4的元素全为1的数组
np.empty((2, 3)) 创建2×3的空数组,空数据中的值并不为0,而是未初始化的垃圾值
np.zeros_like(ndarr) 以ndarr相同维度创建元素全为0数组
np.ones_like(ndarr) 以ndarr相同维度创建元素全为1数组
np.empty_like(ndarr) 以ndarr相同维度创建空数组
np.eye(5) 该函数用于创建一个5×5的矩阵,对角线为1,其余为0
np.full((3,5), 10) 创建3×5的元素全为10的数组,10为指定值
np01= np.ones((2,5),dtype="int32")
np01= np.empty((2,5),dtype="int32")
print(np01)
list01= [
    [1,2,3],
    [4,5,6]
]
np01= np.array(list01)
print(np01.shape)
np02= np.zeros_like(np01,dtype=float)
print(np02)
print(np02.shape)
#  np.eye(5)    该函数用于创建一个5×5的矩阵,对角线为1,其余为0  
np01= np.eye(5)
print(np01)
# np.full((3,5), 10)    创建3×5的元素全为10的数组,10为指定值  
#10是指定的,你可以指定任意值
np01= np.full((3,5),5)
print(np01)

使用linspace创建数组

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数 描述
start 序列的起始值
stop 序列的终止值 ,如果endpoint=True,则证明数组包含于数列
num 生成样本数量,默认是50
endpoint 如果为ture则包含stop,否则不包含
retstep 如果retstep=Ture,生成的数组会显示间距,否则不显示
dtype 数据类型
"""
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
"""
np01= np.linspace(1,10,5)#从1-10,生成5个数据
np01= np.linspace(1,10,5,endpoint=True)#把10包含进去
np01= np.linspace(1,10,5,endpoint=False)#把10不包含进去
np01= np.linspace(1,10,5,retstep=True)#显示间距
np01= np.linspace(1,10,5,dtype="int32")
print(np01)

使用logspace创建数组

np.logspace(start,stop,num=50,endpoint=Ture,base=10.0,dtype=None)

参数 描述
start 序列的起始值
stop 序列的终止值 ,如果endpoint=True,则证明数组包含于数列
num 生成样本数量,默认是50
endpoint 如果为ture则包含stop,否则不包含
base 对数log的底数,默认10.0
dtype 数据类型
上一篇:Numpy的安装和创建


下一篇:numpy的安装和创建