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


Python pyspark Series.reindex用法及代碼示例


本文簡要介紹 pyspark.pandas.Series.reindex 的用法。

用法:

Series.reindex(index: Optional[Any] = None, fill_value: Optional[Any] = None) → pyspark.pandas.series.Series

使用可選的填充邏輯使係列符合新索引,將 NA/NaN 放置在先前索引中沒有值的位置。產生了一個新對象。

參數

index: array-like, optional

應使用關鍵字指定要符合的新標簽/索引。最好是 Index 對象以避免重複數據

fill_value標量,默認 np.NaN

用於缺失值的值。默認為 NaN,但可以是任何 “compatible” 值。

返回

更改索引的係列。

例子

創建一個包含一些虛構數據的係列。

>>> index = ['Firefox', 'Chrome', 'Safari', 'IE10', 'Konqueror']
>>> ser = ps.Series([200, 200, 404, 404, 301],
...                 index=index, name='http_status')
>>> ser
Firefox      200
Chrome       200
Safari       404
IE10         404
Konqueror    301
Name: http_status, dtype: int64

創建一個新索引並重新索引係列。默認情況下,新索引中沒有對應係列記錄的值被分配 NaN

>>> new_index= ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...             'Chrome']
>>> ser.reindex(new_index).sort_index()
Chrome           200.0
Comodo Dragon      NaN
IE10             404.0
Iceweasel          NaN
Safari           404.0
Name: http_status, dtype: float64

我們可以通過將值傳遞給關鍵字 fill_value 來填充缺失值。

>>> ser.reindex(new_index, fill_value=0).sort_index()
Chrome           200
Comodo Dragon      0
IE10             404
Iceweasel          0
Safari           404
Name: http_status, dtype: int64

為了進一步說明 reindex 中的填充函數,我們將創建一個具有單調遞增索引的係列(例如,日期序列)。

>>> date_index = pd.date_range('1/1/2010', periods=6, freq='D')
>>> ser2 = ps.Series([100, 101, np.nan, 100, 89, 88],
...                  name='prices', index=date_index)
>>> ser2.sort_index()
2010-01-01    100.0
2010-01-02    101.0
2010-01-03      NaN
2010-01-04    100.0
2010-01-05     89.0
2010-01-06     88.0
Name: prices, dtype: float64

假設我們決定擴展該係列以涵蓋更廣泛的日期範圍。

>>> date_index2 = pd.date_range('12/29/2009', periods=10, freq='D')
>>> ser2.reindex(date_index2).sort_index()
2009-12-29      NaN
2009-12-30      NaN
2009-12-31      NaN
2010-01-01    100.0
2010-01-02    101.0
2010-01-03      NaN
2010-01-04    100.0
2010-01-05     89.0
2010-01-06     88.0
2010-01-07      NaN
Name: prices, dtype: float64

相關用法


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