开启掘金成长之旅!这是我参与「掘金日新计划 · 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")
结果:
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)
结果:
生成有一定间隔的数组
函数:
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}")
结果: