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


Python pyspark Series.fillna用法及代码示例


本文简要介绍 pyspark.pandas.Series.fillna 的用法。

用法:

Series.fillna(value: Optional[Any] = None, method: Optional[str] = None, axis: Union[int, str, None] = None, inplace: bool = False, limit: Optional[int] = None) → Optional[pyspark.pandas.series.Series]

填写 NA/NaN 值。

注意

当前在fillna 中‘method’ 参数的实现使用Spark 的Window,没有指定分区规范。这会导致将所有数据移动到单个机器中的单个分区中,并可能导致严重的性能下降。避免对非常大的数据集使用此方法。

参数

value标量,字典,系列

用于填补漏洞的值。或者是一个字典/一系列值,指定每列使用哪个值。不支持DataFrame。

method{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, 无},默认无

用于填充重新索引系列 pad/ffill 中的孔的方法:将最后一个有效观察向前传播到下一个有效回填/bfill:使用 NEXT 有效观察来填充间隙

axis{0 或 index }

不支持 1 和 columns

inplace布尔值,默认为 False

就地填充(不创建新对象)

limit整数,默认无

如果指定了方法,则这是要向前/向后填充的连续 NaN 值的最大数量。换句话说,如果存在连续 NaN 数量超过此数量的间隙,则只会部分填充。如果未指定方法,则这是沿整个轴填充 NaNs 的最大条目数。如果不是 None 则必须大于 0

返回

Series

填写了 NA 条目的系列。

例子

>>> s = ps.Series([np.nan, 2, 3, 4, np.nan, 6], name='x')
>>> s
0    NaN
1    2.0
2    3.0
3    4.0
4    NaN
5    6.0
Name: x, dtype: float64

将所有 NaN 元素替换为 0。

>>> s.fillna(0)
0    0.0
1    2.0
2    3.0
3    4.0
4    0.0
5    6.0
Name: x, dtype: float64

我们还可以向前或向后传播非空值。

>>> s.fillna(method='ffill')
0    NaN
1    2.0
2    3.0
3    4.0
4    4.0
5    6.0
Name: x, dtype: float64
>>> s = ps.Series([np.nan, 'a', 'b', 'c', np.nan], name='x')
>>> s.fillna(method='ffill')
0    None
1       a
2       b
3       c
4       c
Name: x, dtype: object

相关用法


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