Python 将数组元素沿着轴0进行累积乘积,将NaN视为1

在Python中,将数组元素沿着轴0进行累积乘积,将NaN视为1

要返回将NaN视为1时,沿着给定轴进行累积乘积的数组元素,请使用nancumprod()方法。当遇到NaN时,累积乘积不会改变,首个NaN将被替换为1。对于全部为NaN或为空的切片,返回1。

该方法返回一个新数组来保存结果,除非指定了out参数,否则会返回它。累积乘积的计算方式为,5, 5*10, 5*10*15, 5*10*15*20。第一个参数是输入数组,第二个参数是沿着哪个轴计算累积乘积。默认情况下,输入数组会被展平。

第三个参数是返回数组的数据类型,以及乘积运算中元素相乘的累加器的数据类型。如果未指定dtype,则默认为输入数组的dtype,除非输入数组的dtype是小于默认平台整数的整数dtype。在这种情况下,将使用默认平台整数。第四个参数是替代输出数组,用于存放结果。它必须具有相同的形状和缓冲区长度,但如果需要,结果的值的类型将会被强制转换。

步骤

首先,导入所需的库 –

import numpy as np

使用array()方法创建一个numpy数组。我们添加了int类型的元素,其中包含nan。

arr = np.array([[5, 10, 15], [20, np.nan, 30]])

显示数组 –

print("Our Array...\n",arr)

检查尺寸 −

print("\nDimensions of our Array...\n",arr.ndim)

获取数据类型:

print("\nDatatype of our Array object...\n",arr.dtype)

将下面的英文翻译成中文,不解释,保留HTML格式:

要计算数组元素在给定轴上的累积乘积,并将NaN视为1,可以使用nancumprod()方法。在遇到NaN时,累积乘积不会发生变化,并且前导的NaN会被替换为1。对于全为NaN或为空的切片,返回1。除非指定了out参数,否则该方法返回一个保存结果的新数组,如果指定了out参数,则返回它。

print("\nCumulative Product of array elements...\n",np.nancumprod(arr, axis = 0))

示例

import numpy as np

# Creating a numpy array using the array() method
# We have added elements of int type with nan
arr = np.array([[5, 10, 15], [20, np.nan, 30]])

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# To return the cumulative product of array elements over a given axis treating NaNs as one, use the nancumprod() method
print("\nCumulative Product of array elements...\n",np.nancumprod(arr, axis = 0))

输出

Our Array...
[[ 5. 10. 15.]
[20. nan 30.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Cumulative Product of array elements...
[[ 5. 10. 15.]
[100. 10. 450.]]

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程