pandas.Panel.replace¶
-
Panel.
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_replace
是list
时,用于替换时使用的方法。返回: 填充:NDFrame
上升: AssertionError
- 如果regex不是
bool
和to_replace不是None
。
TypeError
- If to_replace is a
dict
and value is not alist
,dict
,ndarray
, orSeries
- 如果to_replace是
None
和regex不能编译成正则表达式或是列表,dict,ndarray或Series。
ValueError
- 如果to_replace和值是
list
或ndarray
,但它们不是相同的长度。
也可以看看
NDFrame.reindex
,NDFrame.asfreq
,NDFrame.fillna
笔记
- 正则表达式替换在
re.sub
下进行。替换re.sub
的规则是相同的。 - 正则表达式只会替换字符串,这意味着您无法提供匹配浮点数的正则表达式,并希望帧中具有数字dtype的列匹配。但是,如果这些浮点数是字符串,则可以这样做。
- 此方法具有很多选项。鼓励你尝试和玩这个方法来获得直观的它如何工作。