當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。