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


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


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

用法:

Series.replace(to_replace: Union[Any, List, Tuple, Dict, None] = None, value: Union[List, Tuple, None] = None, regex: bool = False) → pyspark.pandas.series.Series

将 to_replace 中给出的值替换为值。系列的值被动态替换为其他值。

参数

to_replacestr、list、tuple、dict、Series、int、float 或 None

如何找到将被替换的值。 * 数字,str:

  • numeric:等于 to_replace 的数值将被替换为 value

  • str:与to_replace完全匹配的字符串将被替换为值

  • str 或数字列表:

    • 如果 to_replace 和 value 都是列表或元组,则它们的长度必须相同。

    • str 和 numeric 规则如上适用。

  • 字典:

    • 字典可用于为不同的现有值指定不同的替换值。例如,{‘a’: ‘b’, ‘y’: ‘z’} 将值 ‘a’ 替换为 ‘b’,并将 ‘y’ 替换为 ‘z’。要以这种方式使用字典,value 参数应该为 None。

    • 对于DataFrame,字典可以指定应在不同列中替换不同的值。例如,{‘a’: 1, ‘b’: ‘z’} 在 ‘a’ 列中查找值 1,在 ‘b’ 列中查找值 ‘z’,并将这些值替换为 value 中指定的值。在这种情况下,value 参数不应为 None。您可以将此视为传递两个列表的特殊情况,除非您指定要搜索的列。

有关每个示例,请参见示例部分。

value标量、字典、列表、元组、str 默认无

用于替换与 to_replace 匹配的任何值的值。对于DataFrame,可以使用值字典来指定每列使用哪个值(不在字典中的列将不会被填充)。还允许使用此类对象的正则表达式、字符串和列表或字典。

返回

Series

替换后的对象。

例子

标量 to_replacevalue

>>> s = ps.Series([0, 1, 2, 3, 4])
>>> s
0    0
1    1
2    2
3    3
4    4
dtype: int64
>>> s.replace(0, 5)
0    5
1    1
2    2
3    3
4    4
dtype: int64

List-like to_replace

>>> s.replace([0, 4], 5000)
0    5000
1       1
2       2
3       3
4    5000
dtype: int64
>>> s.replace([1, 2, 3], [10, 20, 30])
0     0
1    10
2    20
3    30
4     4
dtype: int64

Dict-like to_replace

>>> s.replace({1: 1000, 2: 2000, 3: 3000, 4: 4000})
0       0
1    1000
2    2000
3    3000
4    4000
dtype: int64

还支持MultiIndex

>>> midx = pd.MultiIndex([['lama', 'cow', 'falcon'],
...                       ['speed', 'weight', 'length']],
...                      [[0, 0, 0, 1, 1, 1, 2, 2, 2],
...                       [0, 1, 2, 0, 1, 2, 0, 1, 2]])
>>> s = ps.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3],
...               index=midx)
>>> s
lama    speed      45.0
        weight    200.0
        length      1.2
cow     speed      30.0
        weight    250.0
        length      1.5
falcon  speed     320.0
        weight      1.0
        length      0.3
dtype: float64
>>> s.replace(45, 450)
lama    speed     450.0
        weight    200.0
        length      1.2
cow     speed      30.0
        weight    250.0
        length      1.5
falcon  speed     320.0
        weight      1.0
        length      0.3
dtype: float64
>>> s.replace([45, 30, 320], 500)
lama    speed     500.0
        weight    200.0
        length      1.2
cow     speed     500.0
        weight    250.0
        length      1.5
falcon  speed     500.0
        weight      1.0
        length      0.3
dtype: float64
>>> s.replace({45: 450, 30: 300})
lama    speed     450.0
        weight    200.0
        length      1.2
cow     speed     300.0
        weight    250.0
        length      1.5
falcon  speed     320.0
        weight      1.0
        length      0.3
dtype: float64

相关用法


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