Python numpy.full_like函数方法的使用

NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。numpy.full_like 是一个非常有用的函数,用于根据另一个数组的形状和数据类型创建一个新数组,并用指定的值填充它。当要创建一个与已有数组具有相同形状和类型,但是想要用不同的固定值填充时,这个函数非常方便。

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)

推荐阅读
cjavapy编程之路首页