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


Python pyspark DataFrame.backfill用法及代碼示例


本文簡要介紹 pyspark.pandas.DataFrame.backfill 的用法。

用法:

DataFrame.backfill(axis: Union[int, str, None] = None, inplace: bool = False, limit: Optional[int] = None) → FrameLike

DataFrame.fillna()Series.fillna()method=`bfill` 的同義詞。

注意

‘bfill’ 的當前實現使用 Spark 的 Window 而不指定分區規範。這會導致將所有數據移動到單個機器中的單個分區中,並可能導致嚴重的性能下降。避免對非常大的數據集使用此方法。

參數

axis{0 或 index }

不支持 1 和 columns

inplace布爾值,默認為 False

就地填充(不創建新對象)

limit整數,默認無

如果指定了方法,則這是要向前/向後填充的連續 NaN 值的最大數量。換句話說,如果存在連續 NaN 數量超過此數量的間隙,則隻會部分填充。如果未指定方法,則這是沿整個軸填充 NaNs 的最大條目數。如果不是 None 則必須大於 0

返回

DataFrame 或係列

DataFrame 或填充了 NA 條目的係列。

例子

>>> psdf = ps.DataFrame({
...     'A': [None, 3, None, None],
...     'B': [2, 4, None, 3],
...     'C': [None, None, None, 1],
...     'D': [0, 1, 5, 4]
...     },
...     columns=['A', 'B', 'C', 'D'])
>>> psdf
     A    B    C  D
0  NaN  2.0  NaN  0
1  3.0  4.0  NaN  1
2  NaN  NaN  NaN  5
3  NaN  3.0  1.0  4

向後傳播非空值。

>>> psdf.bfill()
     A    B    C  D
0  3.0  2.0  1.0  0
1  3.0  4.0  1.0  1
2  NaN  3.0  1.0  5
3  NaN  3.0  1.0  4

對於係列

>>> psser = ps.Series([None, None, None, 1])
>>> psser
0    NaN
1    NaN
2    NaN
3    1.0
dtype: float64
>>> psser.bfill()
0    1.0
1    1.0
2    1.0
3    1.0
dtype: float64

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.DataFrame.backfill。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。