pandas.Series.replace

Series.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)[source]

将'to_replace'中给出的值替换为'value'。

参数:

to_replace:str,regex,list,dict,Series,numeric或None

  • str或regex:

    • str:与to_replace完全匹配的字符串将替换为
    • regex:匹配to_replace的正则表达式将替换为
  • str,regex或numeric的列表:

    • 首先,如果to_replace都是列表,则它们必须具有相同的长度。
    • 第二,如果regex=True,则两个列表中的所有字符串将被解释为正则表达式,否则它们将直接匹配。这对于没有多大意义,因为只有几个可能的替换正则表达式可以使用。
    • str和regex规则如上所述。
  • dict:

    • 嵌套字典,例如{'a':{'b':nan}},如下所示:在列'a'中查找值'b',并将其替换为nan。您也可以嵌套正则表达式。请注意,列名称(嵌套字典中的顶级字典键)不能是正则表达式。
    • 键映射到列名称和值的键映射到替换值。您可以将此视为传递两个列表的特殊情况,除非您指定要搜索的列。
  • 没有:

    • 这意味着regex参数必须是字符串,编译的正则表达式,或list,dict,ndarray或这样的元素的系列。如果也是None,则此必须是嵌套字典或Series

请参阅示例部分,了解其中的每个示例。

value:scalar,dict,list,str,regex,default无

用于填充空洞的值(例如0),或者指定值的dict,指定为每列使用哪个值(不在dict中的列将不会被填充)。也允许这些对象的正则表达式,字符串和列表或者词典。

inplace:boolean,default False

如果为True,就位。注意:这将修改此对象上的任何其他视图(例如,形成DataFrame的列)。如果此值为True,则返回调用者。

limit:int,默认值无

向前或向后填充的最大尺寸间隙

regex:bool或与to_replace相同的类型,默认为False

是否将to_replace和/或解释为正则表达式。如果这是True,则to_replace 必须是字符串。否则,to_replace必须为None,因为此参数将被解释为正则表达式或正则表达式的列表,dict或数组。

方法:string,optional,{'pad','ffill','bfill'}

to_replacelist时,用于替换时使用的方法。

返回:

填充:NDFrame

上升:

AssertionError

  • 如果regex不是boolto_replace不是None

TypeError

  • If to_replace is a dict and value is not a list, dict, ndarray, or Series
  • 如果to_replaceNoneregex不能编译成正则表达式或是列表,dict,ndarray或Series。

ValueError

  • 如果to_replacelistndarray,但它们不是相同的长度。

也可以看看

NDFrame.reindexNDFrame.asfreqNDFrame.fillna

笔记

  • 正则表达式替换在re.sub下进行。替换re.sub的规则是相同的。
  • 正则表达式只会替换字符串,这意味着您无法提供匹配浮点数的正则表达式,并希望帧中具有数字dtype的列匹配。但是,如果这些浮点数字符串,则可以这样做。
  • 此方法具有很多选项。鼓励你尝试和玩这个方法来获得直观的它如何工作。
Scroll To Top