当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark DataFrame.product用法及代码示例


本文简要介绍 pyspark.pandas.DataFrame.product 的用法。

用法:

DataFrame.product(axis: Union[int, str, None] = None, numeric_only: bool = None, min_count: int = 0) → Union[int, float, bool, str, bytes, decimal.Decimal, datetime.date, datetime.datetime, None, Series]

返回值的乘积。

注意

与 pandas 不同,pandas-on-Spark 使用 exp(sum(log(...))) 技巧模拟产品。因此,它仅适用于正数。

参数

axis{索引 (0), 列 (1)}

要应用的函数的轴。

numeric_only布尔值,默认无

仅包括 float、int、boolean 列。不支持 False。这个参数主要是为了pandas的兼容性。

min_count整数,默认 0

执行操作所需的有效值数。如果存在的非 NA 值少于 min_count,则结果将为 NA。

例子

在数据帧上:

结果中不包含非数字类型的列。

>>> psdf = ps.DataFrame({'A': [1, 2, 3, 4, 5],
...                     'B': [10, 20, 30, 40, 50],
...                     'C': ['a', 'b', 'c', 'd', 'e']})
>>> psdf
   A   B  C
0  1  10  a
1  2  20  b
2  3  30  c
3  4  40  d
4  5  50  e
>>> psdf.prod()
A         120
B    12000000
dtype: int64

如果没有数字类型列,则返回空系列。

>>> ps.DataFrame({"key": ['a', 'b', 'c'], "val": ['x', 'y', 'z']}).prod()
Series([], dtype: float64)

在一个系列上:

>>> ps.Series([1, 2, 3, 4, 5]).prod()
120

默认情况下,空或all-NA系列的乘积是1

>>> ps.Series([]).prod()
1.0

这可以通过min_count 参数来控制

>>> ps.Series([]).prod(min_count=1)
nan

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.product。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。