关于Pandas版本: 本文基于 pandas2.2.0 编写。
关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。
传送门: Pandas API参考目录
传送门: Pandas 版本更新及新特性
传送门: Pandas 由浅入深系列教程
本节目录
- Pandas.Series.product()
- 计算公式:
- 语法:
- 返回值:
- 参数说明:
- axis 指定计算方向(行或列)
- skipna 忽略缺失值
- numeric_only 排除非纯数值的行或列
- min_count 有效数值数量
- **kwargs
- 相关方法:
- 示例:
- 例1:如果 `Series` 都是缺失值,那么乘积是1,因为在Series.product方法中,缺失值被解析为1.0。
- 例2:非缺失值数量,小于 `min_count` ,则结果为 `nan`
Pandas.Series.product()
Pandas.Series.product
方法用于返回 Series
所有元素的乘积(累乘积)
Pandas.Series.product
和pandas.Series.prod
效果一致。Pandas.Series.prod
是pandas.Series.product
的简化缩写。
计算公式:
- 累乘公式 :
∏ i = 1 n a i \prod_{i=1}^{n} a_i ∏i=1nai
下标 i i i 表示累乘的起始位置,上标 n n n 表示累乘的终止位置。, a i a_i ai 表示被累乘的项。
语法:
Series.product(axis=0, skipna=True, numeric_only=False, min_count=0, **kwargs)
返回值:
- Series or scalar
参数说明:
axis 指定计算方向(行或列)
-
axis : {index (0), columns (1)
对于
Series
此参数无效。✅ 新增于 Pandas 2.0.0 :
axis
参数,新增于Pandas 2.0.0 版本。
skipna 忽略缺失值
-
skipna : bool, default False >
skipna
参数,用于指定求乘积的时候是否忽略缺失值:- False: 不忽略,缺失值 在求乘积的时候会被解析为浮点数
float
1.0例1 - True: 忽略缺失值。
- False: 不忽略,缺失值 在求乘积的时候会被解析为浮点数
numeric_only 排除非纯数值的行或列
-
numeric_only : bool, default False
对于
Series
此参数无效。
min_count 有效数值数量
-
min_count : int, default 0
min_count
参数,用于指定执行操作所需的有效值数量。如果存在的非NA
值少于min_count
,则结果将为NA
。例2
**kwargs
-
**kwargs :
用于保持和
numpy
兼容而保留的参数,一般不需要使用。
相关方法:
➡️ 相关方法
Series.sum
求和(累和)
Series.min
最小值
Series.max
最大值
Series.idxmin
最小值索引
Series.idxmax
最大值索引
DataFrame.sum
求和(累和)
DataFrame.min
最小值
DataFrame.max
最大值
DataFrame.idxmin
最小值索引
DataFrame.idxmax
最大值索引
示例:
测试文件下载:
本文所涉及的测试文件,如有需要,可在文章顶部的绑定资源处下载。
若发现文件无法下载,应该是资源包有内容更新,正在审核,请稍后再试。或站内私信作者索要。
例1:如果 Series
都是缺失值,那么乘积是1,因为在Series.product方法中,缺失值被解析为1.0。
import numpy as np
import pandas as pd
s = pd.Series([np.NaN, np.NaN])
s.product()
1.0
例2:非缺失值数量,小于 min_count
,则结果为 nan
import numpy as np
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5, np.NaN])
s.product(numeric_only=True, min_count=6)
nan
观察上面的计算结果,min_count
参数传递了数字6,这意味着 Series
里至少要有6个非na值。由于只有5个,所以返回了nan