Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.replace方法的使用。
可直接查看网站内容
函数参数:DataFrame.replace(self, to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')
https://github.com/pandas-dev/pandas/blob/v1.0.5/pandas/core/frame.py#L4156-L4173
将to_replace
中给出的值替换为value
。
DataFrame
的值被动态替换为其他值。这与使用.loc
或.iloc
进行更新不同,后者要求您指定要使用某个值进行更新的位置。
参数: | to_replace :
如何找到将要被替换的值。 numeric, str 或 regex: 1)numeric: 等于 2)str: 完全匹配 3)regex: 匹配 str, regex, 或 numeric的list: 1)首先,如果 那么它们的长度必须相同。 2)其次,如果 那么两个列表中的所有字符串都将被解释为 否则它们将直接匹配。这对值没有太大影响, 因为您只能使用几种可能的替代正则表达式。 3) dict : 1) 例如, 将值 要以这种方式使用 2)对于数据格式, 例如,
并用
您可以将此看作传递两个列表的特殊情况。 3)对于一个 用于DataFrame嵌套字典, 例如, 读取如下 并将其替换为 要以这种方式使用嵌套的 您也可以嵌套正则表达式。 注意列名(嵌套字典中的顶级字典键)不能是正则表达式。 None: 1)这意味着 编译 如果值也是 请参阅示例部分以获得这些示例。 value : scalar, dict, list, str, regex, 默认 None: 值,以替换与 对于DataFrame,可以使用一组值来指定为每个列使用哪个值 (不属于该数据格式的列将不会被填充)。 这些对象的正则表达式、字符串和列表或字典也是允许的。 inplace : 如果是真的,在适当的地方。 注意:这将修改这个对象上的任何其他视图(例如, DataFrame中的一个列)。如果为真,则返回调用者。 limit : 向前或向后填充的最大尺寸gap。 regex : 是否将 如果这是 也可以是正则表达式或正则表达式的列表、dict或数组, 在这种情况下 method : 当用于替换时,当 列表或元组,值为 在版本0.23.0中更改:添加到DataFrame中。 |
返回值: | DataFrame 更换后的对象。 |
Raises: | AssertionError 如果
1)如果 而值不是 2)如果 并且regex不能编译为正则表达式, 或者是 3)替换多个
如果一个列表或一个
但是它们的长度不相同。 |
Notes
1) 正则表达式替换在底层使用re.sub
执行。替换re.sub
的规则是相同的。
2) 正则表达式将只替换字符串,这意味着您不能提供匹配浮点数的正则表达式,也不能期望框架中具有数字dtype
的列被匹配。但是,如果这些浮点数是字符串,那么您可以这样做。
3) 这个方法有很多选项。我们鼓励您试验和尝试这种方法,以获得它如何工作的直觉。
4) 当使用dict
作为to_replace
值时,就像dict
中的键是to_replace
部分,而dict
中的值是值参数一样。
个人学习,交流分享。