numpy.full_like
numpy.full_like(a, fill_value, dtype=None, order='K', subok=True)[source]
返回与给定数组具有相同形状和类型的数组。并且数组中元素的值是fill_value的值
参数: | a : array_like 用a的形状和数据类型,来定义返回数组的属性。 fill_value : 填充数组的值。 dtype : 数据类型, 可选 覆盖结果的数据类型。 order : {‘C’, ‘F’, ‘A’, or ‘K’}, 可选 覆盖结果的内存布局。 'C'表示C顺序, 'F'表示F顺序,'A'表示如果a是Fortran连续, 则表示'F',否则'C'。 'K'表示尽可能匹配a的布局。 subok : bool, 可选. 值为True是使用a的内部数据类型, 值为False是使用a数组的数据类型, 默认为True |
返回值: | 返回值类型 : ndarray(ndarray是N维数组对象) 返回与a相同类型和形态, 并且用fill_value的值填充的数组 |
例如,
import numpy as np # 使用arange创建一个整数类型的数组x x = np.arange(6, dtype=int) # 使用full_like创建新数组,所有元素为1 array_1 = np.full_like(x, 1) print(array_1) # 使用full_like创建新数组,尝试所有元素为0.1,但因为x的dtype为int,结果全为0 array_0_1_int = np.full_like(x, 0.1) print(array_0_1_int) # 明确指定dtype为np.double,创建所有元素为0.1的数组 array_0_1_double = np.full_like(x, 0.1, dtype=np.double) print(array_0_1_double) # 使用np.nan填充,同时指定dtype为np.double array_nan = np.full_like(x, np.nan, dtype=np.double) print(array_nan) # 创建一个double类型的数组y y = np.arange(6, dtype=np.double) # 使用full_like基于y创建新数组,所有元素为0.1 array_0_1_y = np.full_like(y, 0.1) print(array_0_1_y)