Python基础学习(十三)

目录

numpy数组(一)

数组的创建

array创建

随机数创建

[0,1)之间的随机数

随机整数

标准正态分布(期望为0,方差为1)

一般正态分布(可指定期望与方差)

ndarray 对象

numpy数组(一)

数组的创建

array创建

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

语法格式:

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

代码:

# 导入numpy模块
import numpy as np
# 使用array函数创建一维、二维、三维数组
a = np.array([3,8,5,9]) # 创建一维数组
print(a)
b = np.array([[1, 2, 3],[4, 5, 6]])     # 创建二维数组
print(b)
c = np.array([[[1,2,3]]])       # 创建三维数组
print(c)

# array函数中dtype的使用
d=np.array([3,4,5],dtype=float)    # dtype可确定列表中数据的类型
print(d)

# array函数中ndimn的使用
e=np.array([1,2,3],dtype=float,ndmin=3)     # 所创建的数组的维度、
print(e)

arange参数说明:

参数描述
start起始值,默认为0
stop终止值(不包含)
step步长,默认为1
dype返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型

代码:

# 导入模块
import numpy as np
# range的使用 range(start, end, step)[start,end)
a=list(range(1, 10))    # 步长默认为1
print(a)
b=list(range(10))   # 默认从0开始,步长为1
print(b)
c=list(range(1,10, 3))
print(c)

# arange创建数组
# 使用arange创建1,10的数组
a = np.arange(1,11)
print(a)

# 设置step
b=np.arange(1, 11, 2)
print(b)

# 设置dtype
c=np.arange(10,20,2,dtype=float)
print(c)

随机数创建

[0,1)之间的随机数

numpy.random.random(size=None)该方法返回[0,1)范围的随机数。

代码:

# 导入模块
import numpy as np
def randomText():
    # 使用random创建一维数组 [0.0 ,1.0)
    a = np.random.random(size=6)
    print(a)

    # 创建二维数组
    b = np.random.random(size=(3, 5))
    print(b)

    # 创建三维数组
    c = np.random.random(size=(2, 3, 5))
    print(c)
randomText()

随机整数

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

numpy.random.randint()的使用:

# 导入模块
import numpy as np

def randomIntText():
    # 随机整数0-5 一维
    a=np.random.randint(6,size=7)
    print(a)

    # 生成5-10之间的随机整数 二维
    b=np.random.randint(5,11,size=(3,4))
    print(b)

    # 生成5-10之间的随机整数 三维
    c=np.random.randint(5,11,size=(3,4,5))
    print(c)

    # dtype的使用
    d=np.random.randint(10, size=5)
    print("默认的dtype:", d.dtype)     # 一般使用默认即可

randomIntText()

标准正态分布(期望为0,方差为1)

numpy.random.randn(d0,d1,d2……,dn)  randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1)。dn表格每个维度返回值为指定维度的array。

numpy.random.randn()的使用:

# 导入模块
import numpy as np

# 创建标准的正态分布 期望为0,方差为1
def randnText():
    a = np.random.randn(4)
    print(a)

    # 创建二维的
    b = np.random.randn(2,3)
    print(b)
    
randnText()

一般正态分布(可指定期望与方差)

numpy.random.normal(loc=, scale=,size=)  normal函数返回一个或一组样本,期望为loc,方差为scale的正态分布。

numpy.random.normal()的使用:

# 导入模块
import numpy as np

# 创建指定期望和方差的正态分布
def normalText():
    a = np.random.normal(size=5)    # 默认期望是loc=0.0 , 方差 scaLe=1.0
    print(a)

    # 指定期望和方差
    b = np.random.normal(loc=2, scale=3, size=(2,3))
    print(b)

randnText()

ndarray 对象

Numpy最重要的一个特点使其N维数组对象ndarray,它是一系列同类数据的集合,以0下标为开始进行集合中元素的索引。

ndarray对象用于存放同类型元素的多维数组。

ndarray中的每一个元素在内存中都有相同存储大小的区域。

ndarray内部由以下内容组成

<1>一个指向数据(内存或内存映射文件中的一块数据)的指针

<2>数据类型或dtype,描述在数组中的固定大小值的格子

<3>一个表示数组形状(shape)的元组,表示个维度大小的元组。

Numpy的数组中比较重要ndarray对象属性有:

属性说明
ndarray.ndim秩,即轴的数量或维度的数量
ndarray.shape数组的维度,对于矩阵,n行m列
ndarray.size数组元素的总个数,相当于.shape中n*m的值
ndarray.dtypendarray对象的元素类型
ndarray.itemsizendarray对象中每个元素大大小,以字节为单位
ndarray.flagsndarray对象的内存信息
ndarray.realndarray元素的实部
ndarray.imagndarray元素的虚部
ndarray.data包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
# 导入numpy
import numpy as np
# 创建一维数组
a = np.array([1,2,3,4])
print(a)

# 创建二维数组
b=np.random.randint(4,10,size=(2,3))
print(b)

# 创建三位数组
c=np.random.randn(2,3,4)
print(c)

# ndim 属性
print('ndim:',a.ndim,b.ndim,c.ndim)
# shape属性
print('shape:',a.shape,b.shape,c.shape)
# dtype属性
print('dtype:',a.dtype,b.dtype,c.dtype)
# size元素的总个数
print('size:',a.size,b.size,c.size)
# itemsize每个元素的大小(字节)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

And ν

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值