python—NumPy基础(1)


Numpy(Numerical Python) 是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算,Numpy支持向量处理ndarray对象,提高程序运算速度。

安装NumPy

安装 NumPy 最简单的方法就是使用 pip 工具,语法格式如下:

pip install numpy

arange函数测试环境安装:

import numpy as np
a=np.arange(10)
print(a)
#输出结果:[0 1 2 3 4 5 6 7 8 9]

在上面的程序中只涉及numpy模块中的一个arange函数,该函数可以传入一个整数类型的参数n,函数返回值看着像一个列表,其实返回值类型是numpy.ndarray。这是Numpy中特有的数组类型。如果传入arange函数的参数值是n,那么arange函数会返回0到n-1的ndarray类型的数组。

array创建数组

在这里插入图片描述
numpy模块的array函数可以生成多维数组。例如,如果要生成一个二维数组,需要向array函数传递一个列表类型的参数。每一个列表元素是一维的ndarray类型数组,作为二维数组的行。另外,通过ndarray类的shape属性可以获得数组每一维的元素个数(元组形式),也可以通过shape[n]形式获得每一维的元素个数,其中n是维度,从0开始。
语法格式如下:

numpy.array(object, dtype = None, copy =True, order = None, subok = False, ndmin = 0)
名称描述
object数组或嵌套的数列
dtype数组元素的数据类型,可选
copy对象是否需要复制,可选
order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok默认返回一个与基类类型一致的数组
ndmin指定生成数组的最小维度

创建一维

# 创建一维数组
b = np.array([1,2,3,4,5,6,])
print(b)
print('b数组的维度:',b.shape)

创建二维

# 创建二维数组
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
print('a数组的维度:',a.shape)

ndmin参数的使用

import numpy as np
a=np.array([1,2,3,4,5,6],ndmin=3)
print(a)

dtype参数的使用

a=np.array([1,2,3,4,5,6],dtype=np.float)
print(a)

arange创建数组

使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下:
在这里插入图片描述

arange生成 0 到 5 的数组

x=np.arange(0,6,dtype=int)
print(x)

arange设置了起始值、终止值及步长

x=np.arange(10,20,2,dtype=float)
print(x)

arange创建二维数组

b=np.array([np.arange(1,4),np.arange(4,7),np.arange(7,10)])
print(b)
print('b数组的维度:',b.shape)

随机数创建

numpy中的random模块包含了很多方法可以用来产生随机数。
在这里插入图片描述

随机数

返回[0.0, 1.0)范围的随机数

import numpy as np
x=np.random.random(size=4)
y=np.random.random(size=(3,4))

随机整数

该方法有三个参数low、high、size三个参数。默认high是None,如
果只有low,那范围就是[0,low)。如果有high,范围就是
[low,high)。

import numpy as np
#numpy.random.randint()的使用
#生成 [0,low)范围的随机整数
x=np.random.randint(5,size=10)
print(x)
#生成[low,high)范围的随机整数
y=np.random.randint(5,10,size=10)
print(y)
#生成[low,high)范围的2*4的随机整数
z=np.random.randint(5,10,size=(2,4))
print(z)

正太分布

#numpy.random.randn(d0,d1,…,dn)
#randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1)。dn表格每个维度返回值为指定维度的数组
import numpy as np
x=np.random.randn()
print(x)
y=np.random.randn(2,4)
print(y)
z=np.random.randn(2,3,4)
print(z)

ndarray 对象

在这里插入图片描述
Numpy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

import numpy as np
x1=np.random.randint(10,size=6)
x2=np.random.randint(10,size=(3,4))
x3=np.random.randn(3,4,5)
print('ndim属性'.center(20,'*'))
print('ndim:',x1.ndim,x2.ndim,x3.ndim)
print('shape属性'.center(20,'*'))
print('shape:',x1.shape,x2.shape,x3.shape)
print('dtype属性'.center(20,'*'))
print('dtype:',x1.dtype,x2.dtype,x3.dtype)
print('size属性'.center(20,'*'))
print('size:',x1.size,x2.size,x3.size)
print('itemsize属性'.center(20,'*'))#一个字节是8位
print('itemsize:',x1.itemsize,x2.itemsize,x3.itemsize)

zeros创建

在这里插入图片描述
创建指定大小的数组,数组元素以 0 来填充

#numpy.zeros(shape, dtype = float, order ='C')
x=np.zeros(5)
print(x)
#设置类型为整数
y=np.zeros((5,),dtype=int)
print(y)
z=np.zeros((2,2))
print(z)

ones创建

在这里插入图片描述
创建指定形状的数组,数组元素以 1 来填充。

#numpy.ones(shape, dtype = None, order = 'C')
x=np.ones(5)
print(x)
y=np.ones((3,4),dtype=int)
print(y)
z = np.ones_like(y)

empty 创建

创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组,里面的元素的值是之前内存的值:

#numpy.empty(shape, dtype = float, order ='C')
x=np.empty([3,2],dtype=int)
y = np.empty_like(x)

empty创建数组的使用

y=np.empty(10,dtype=int)
x=np.arange(5)
np.add(2,x,out=y[:5])

full()创建

#创建全为某个指定值的数组
#full(shape,fill_value)
a = np.full((2,2),3)

创建单位矩阵在这里插入代码片

在这里插入图片描述
单位矩阵从左上角到右下角的对角线上的元素均为1,除此以外全都为0。任何矩阵与单位矩阵相乘都等于本身,而且单位矩阵因此独特性在高等数学中也有广泛应用。

eye和identity的使用

n1 = np.eye(3,dtype=int)
n2 = np.identity(3,dtype=int)

linspace创建

在这里插入图片描述
linspace函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:

np.linspace(start, stop, num=50,endpoint=True, retstep=False, dtype=None)
参数描述
start序列的起始值
stop序列的终止值,如果endpoint为true,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 ture 时,数列中中包含stop值,反之不包含,默认是True。
retstep如果为 True 时,生成的数组中会显示间距,反之不显示。
dtypendarray 的数据类型

linspace创建等差数列

x=np.linspace(1,10,10)

linspace创建等差数列endpoint 设为 true

# endpoint=True 间隔 end-start/(num-1)
x=np.linspace(10,20,5,endpoint=True)
# endpoint=False 间隔 end-start/num
x = np.linspace(1,5,num=5,endpoint=False)

linspace创建等差数列retstep=True

x=np.linspace(10,20,5,endpoint=True)

logspace 创建

在这里插入图片描述

logspace 函数用于创建一个于等比数列。格式如下:

np.logspace(start, stop, num=50,
endpoint=True, base=10.0, dtype=None)
参数描述
start序列的起始值为:base ** start
stop序列的终止值为:base ** stop。如果endpoint为true,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 ture 时,数列中中包含stop值,反之不包含,默认是True。
base对数 log 的底数。
dtypendarray 的数据类型

logspace创建等比数列

x=np.logspace(0,9,10,base=2)
x = np.logspace(0,3,num=4)
  • 22
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值