创建数组array--numpy

本文详细介绍了numpy库中创建数组的各种方法,包括array、arange、linspace和logspace函数,以及全0和全1数组的生成。重点讲解了参数含义、实例演示和关键属性。适合学习和理解numpy数组操作的读者。
摘要由CSDN通过智能技术生成

1. 创建数组array

1.1 array函数创建

1.1.1 语法格式

numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, 
ndmin=0, like=None)
参数含义
object数组序列,如:列表/元组
dtype可选参数,数组数据的类型;若未指定由数组序列最小类型决定
copy可选参数,布尔型,默认取值为True,具体如何使用尚不清楚
order可选参数,以何种内存布局创建数组,尚不理解
subok可选参数,布尔型,默认取值为False,尚不理解
ndmin可选参数,指定数组的维度,默认为1维
like可选参数,类数组,尚不理解

1.1.2 实践代码

# 1.列表中元素不相同,结果为内存占据较大的类型
# 1.1 整型与字符串型,结果转化为整型
a = np.array([1, 2, 3, '4'])
print(a)

# 1.2 整型与浮点型,结果为浮点型
b = np.array([1, 2, 3.14, 4.56])
print(b)

# 2. 二维数组
d = np.array([[1, 2, 3], ('a', 'b', 'c')])
print(d)
print(d.ndim)

# 3. 嵌套序列数量不一致,会转化为1维数组,此时必须指定dtype=object
e = np.array([[1, 2, 3, 4], ('a', 'b', 'c')], dtype=object)
print(e)
print(e.ndim)


# 4. dtype参数,默认自动识别,dtype指定类型,强制转换
f = np.array([1, 2, 3, 4])
print(f)
print(f.dtype)

g = np.array([1.9, 2, 3.14, 5], dtype='int32')
print(g)
print(id(g))

#  5. 当copy取值为True创建副本,取值为False时进行引用,不创建副本
h = np.array(g,copy=False)
print(h)
print(id(h))

j = np.array(g)
print(j)
print(id(j))

# 6. ndmin 指定创建数组的维度
k = np.array([1,2,3],ndmin=2)
print(k)
print(k.ndim)

1.2 arange函数创建

1.2.1 函数语法

numpy.arange([start, ]stop, [step, ]dtype=None, *, 
like=None)
参数含义
start可选参数,起始值,默认值为0
stop结束值(不包含)
step可选参数,步长,默认值为1
dtype可选参数, 数组数据的类型,默认根据其他输入参数情况推断
like尚不清楚

1.2.2 实践代码

# 1. 只有1个参数
a1 = np.arange(8)  # 结束值为8,起始值默认0,步长默认为1
print(a1)
print(a1.dtype)

# 2. 给定起始值、结束值
a2 = np.arange(2.2,9.9)
print(a2)
print(a2.dtype)

# 3. 给定起始值、结束值、步长
a3 = np.arange(2.2,9.9,0.8)
print(a3)
print(a3.dtype)

a4 = np.arange(0, 201, 3)
print(a4)
print(a4.shape)

在这里插入图片描述

1.3 linspace()函数创建

1.3.1 语法格式

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

创建等差数组

参数含义
start起始值
stop结束值
num产生的样本量,可选参数,默认为50个
endpoint布尔值,可选参数,取值位True,则包含结束值;否则不包含;默认包含结束值
retstep布尔值,可选参数,默认取值False,只返回样本数据;取值位True时除样本数据外还会返回步长
dtype可选参数,输出数组的数据类型,默认根据起始值和终止值推断
axis可选参数,整数,指定存储样本的轴,仅当start或stop为数组时起作用

1.3.2 实践代码

# 1. 给定起始值和结束值
s1 = np.linspace(0, 50)
print('s1:', s1)

# 2. 给定起始值、结束值和样本量
s2 = np.linspace(0, 50, 10)
print('s2:', s2)

# 3. 设定不包含结束值
s3 = np.linspace(0, 50, 10, endpoint=False)
print('s3:', s3)

# 4. 返回步长step
s4 = np.linspace(0, 50, 10, endpoint=False, retstep=True)
print('s4:', s4)

# 5.起始值与终止值为数组
a = np.array([1, 2])
b = np.array([7, 8])
s5 = np.linspace(a, b, num=4, axis=0)
print('s5:', s5)

s6 = np.linspace(a, b, num=4, axis=1)
print('s6:', s6)

在这里插入图片描述

1.4 logspace函数创建

1.4.1 语法格式

创建等比数组

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None,
 axis=0)
参数含义
start起始值
stop结束值
num产生的样本量,可选参数,默认为50个
endpoint布尔值,可选参数,取值位True,则包含结束值;否则不包含;默认包含结束值
base可选参数,底数,默认为10
dtype可选参数,输出数组的数据类型,默认根据起始值和终止值推断
axis可选参数,整数,指定存储样本的轴,仅当start或stop为数组时起作用

1.4.2 实践代码

g1 = np.logspace(1, 5, num=5)
print('g1:', g1)

g2 = np.logspace(1, 5, num=5, endpoint=False)
print('g2:', g2)

g3 = np.logspace(1, 5, num=5, base=2)
print('g3:', g3)

在这里插入图片描述

总结: 
np.logspace(A,B,C,base=D)
A : 生成数组的起始值为D的A次方
B: 生成数组的结束值为D的B次方
C: 总共生成C个数
D: 指数型数组的底数为D,默认为base=10

1.5 全0数组

1.5.1 函数语法

numpy.zeros(shape, dtype=float, order='C', *, like=None)

返回指定形状和数据类型的以0填充的数组

参数含义
shape数组形状,取值为整数或整数组成的元组
dtype可选参数;生成数组的数据类型,默认为float64
order可选参数;内存中数据的存储形式
like尚不清楚

1.5.2 实践代码

# 创建一维数组
a = np.zeros(5)
print(a)
print(a.shape)

b = np.zeros((5,))
print(b)
print(b.shape)

# 指定输出数组的数据类型
d = np.zeros((5,), dtype='int32')
print(d)
print(d.shape)

# 创建二维数组

e = np.zeros((2, 3))
print(e)
print(e.shape)

在这里插入图片描述

1.6 全1数组

1.6.1 函数语法

numpy.ones(shape, dtype=float, order='C', *, like=None)

返回指定形状和数据类型的以1填充的数组

参数含义
shape数组形状,取值为整数或整数组成的元组
dtype可选参数;生成数组的数据类型,默认为float64
order可选参数;内存中数据的存储形式
like尚不清楚
# 创建一维数组
a = np.ones(5)
print(a)
print(a.shape)

b = np.ones((5,))
print(b)
print(b.shape)

# 指定输出数组的数据类型
d = np.ones((5,), dtype='int32')
print(d)
print(d.shape)

# 创建二维数组

e = np.ones((2, 3))
print(e)
print(e.shape)

1.6.2 实践代码

在这里插入图片描述

2. 数组的属性

属性说明
ndarray.ndim秩,即数组维度的数量
ndarray.shape数组的维度,如矩阵:n行m列
ndarray.size数组元素的个数,相当于shape中的n*m
ndarray.dtype数组中元素的类型
ndarray.itemsizendarray中每个元素的大小,以字节为单位

参考文献:numpy.array

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值