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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。