(2)numpy数组的构建和属性

文章介绍了numpy库在Python中的使用,包括用ones(),zeros(),full()创建数组,生成单位矩阵eye(),等差序列linspace(),arange(),以及随机整数和正态分布的数组。还提到了numpy数组的属性如ndim,shape,size和dtype。
摘要由CSDN通过智能技术生成

numpy在python中,是一个非常便捷的第三方包,在应用中,numpy向我们提供了许多方法,这里就不得不提到numpy数组的构建和属性。

在numpy中,提供了多种快捷构建数组的方法,接下来将一一介绍:

【构建数组】

【方法一】:用数字“1”填充数组:

# 用数字“1”填充高维数组:
# 构造一个三行三列的高维数组:
# shape=():括号内输入数组维度
# 此处“dtype=None, order="C"”可以省略
array_1 = np.ones(shape=(3, 3), dtype=None, order="C")
print(array_1)

运行结果:

 【方法二】:用数字“0”填充数组:

# 用数字“0”填充高维数组:
# 构造一个五行五列的高维数组:
array_2 = np.zeros(shape=(5, 5))
print(array_2)
# 构建一个三维numpy数组:
array_2_0 = np.zeros(shape=(2, 2, 2))
print(array_2_0)

运行结果:

 

 【方法三】:用指定数字填充数组:

# 用指定数字填充高维数组:
# fill_value=:等号后面输入被填充的数字:
array_3 = np.full(shape=(3, 3), fill_value=6)
print(array_3)

运行结果:

 【方法四】:生成单位矩阵:

# 单位矩阵:(重要)
# N=:等号后面填入数组的第一维度,也就是行数
# M=:等号后面填入数组的第二维度,也就是列数
array_4 = np.eye(N=5, M=5)
print(array_4)
# k=:等号后面填入的数字是几,会将主对角线向右移动几个单位
array_4_0 = np.eye(N=5, M=5, k=1)
print(array_4_0)

运行结果:

 【方法五】:生成等差数组:关注元素个数

# 生成等差数列:(关注元素的个数)
# np.linspace(a,b,c,endpoint=):
# a:起点(包含)
# b:终点:
# 情况一:当endpoint=False时,终点将不包含b
# 情况二:当endpoint=True时,终点包含,默认情况下,重点包含
# c:数组元素个数(数字个数)
# 此处需要引入一个概念,等差数列A(n+1)-A(n)=A(n)-A(n-1)
# 不包含终点:
array_5 = np.linspace(1, 10, 10, endpoint=False)
print(array_5)
# 包含终点:
array_5_0 = np.linspace(1, 10, 10, endpoint=True)
print(array_5_0)

运行结果:

【方法六】:生成等差数组:关注公差大小

# 生成等差数列:(关注公差的大小)
# step=:等号后面为步长,也就是公差
array_6 = np.arange(0, 10, step=2)
print(array_6)

运行结果:

 【方法七】:生成有随机整数构成的数组:

# 生成元素为随机整数:
# np.random.randint(a, b, size=)
# a:起点
# b:终点
# size=():生成矩阵的规格
array_7 = np.random.randint(0, 100, size=(5, 5))
print(array_7)

运行结果:

 【方法八】:生成元素复合正态分布的数组:

# 标准正态分布:
array_8_0 = np.random.randn(3, 5)
print(array_8_0)
# 常规正态分布:
# np.random.normal(loc=期望,scale=方差)
array_8_1 = np.random.normal(loc=170, scale=5, size=(2, 2))
print(array_8_1)

运行结果:

 

【方法九】:生成元素为从0-1的随机小数的数组:

# 生成从0-1的随机小数:
array_9 = np.random.random(size=10)
print(array_9)

运行结果:

【方法十】:生成由固定区间内,随机索引构成的数组:

# 生成固定区间内的随机索引:
# 生成从0-10之间的随机索引:
array_10 = np.random.permutation(10)
print(array_10)

运行结果:

 

 【数组属性】

ndim:维度
shape:形状(各维度的长度)
size:总长度
dtype:元素类型

arr = np.random.randint(0, 100, size=(3, 4, 4))
# 获取数组arr维度:
print("arr维度:", arr.ndim)
# 获取数组arr形状:
print("arr形状:", arr.shape)
# 获取数组arr总长度:
print("arr总长度:", arr.size)
# 获取数组arr元素类型:
print("arr元素类型:", arr.dtype)

运行结果:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

弦之森

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

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

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

打赏作者

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

抵扣说明:

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

余额充值