Python学习第十七天,Numpy学习(二)

99 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情

快速创建数组的方法

创建 0 或 1 的数组

函数:

np.ones()
np.ones_like(arr)
np.zeros()
np.zeros_like(arr)

举个例子

import numpy as np
one_arr1 = np.ones([2,2])
print(f"one_arr1:\n{one_arr1}")
print("生成一个2行2列的元素全为1的数组")
zero_arr1 = np.zeros([3,3])
print(f"zero_arr1:\n{zero_arr1}")
print("生成一个3行3列的元素全为0的数组")
one_arr2 = np.ones_like(zero_arr1)
print(f"one_arr2:\n{one_arr2}")
print("生成一个shape与目标数组一样的数组且元素全为1")
zero_arr2 = np.zeros_like(one_arr1)
print(f"zero_arr2:\n{zero_arr2}")
print("生成一个shape与目标数组一样的数组且元素全为0")

结果:

image.png

np.empty()和np.empty_like()

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

np.empty_like()类似上面的两个函数。

emp_arr1 = np.empty([2,2])
emp_arr2 = np.empty_like(emp_arr1)
print(emp_arr1)
print(emp_arr2)

结果:

image.png

生成有一定间隔的数组

函数:

np.arange(start , end , step , dtype)
这个函数就和for循环中的range类似,可以设置起始值,终值(不可取),步长。初此外一个设置数据类型

np.linspace(start , stop , num , endpoint)
start:序列的起始值
top:序列的终止值(可取)
num:要生成的等间隔样例数量,默认为50
endpoint:序列中是否包含stop值,默认为ture
retstep:如果为 True 时,生成的数组中会显示间距,反之不显示。
dtype:ndarray 的数据类型

例子:

aran_arr = np.arange(0,101,20)
lin_arr = np.linspace(0,100,5)
print(f"生成一个0-100之间,步长为20的数组:{aran_arr}")
print(f"生成一个0-100之间的等差数组:{lin_arr}")

结果:

image.png