Pandas DataFrame.replace()

2024 年 8 月 29 日 | 阅读 2 分钟

Pandas replace() 是一个非常强大的函数,用于从 DataFrame 中替换字符串、正则表达式、字典、列表序列。 DataFrame 的值可以动态地替换为其他值。 它能够与 Python 正则表达式(regular expression)一起使用。

它与使用 .loc.iloc 进行更新不同,后者需要您指定要使用某个值更新的位置。

语法

参数

  • to_replace: 定义了我们在 DataFrame 中尝试替换的模式。
  • value: 它是用于填充 DataFrame 中的孔的值(例如,0),或者是一个值的字典,用于指定每列使用哪个值(字典中没有的列将不会被填充)。
    它还允许使用正则表达式、字符串和列表或字典等对象。
  • inplace: 如果为 True,则进行原地替换。

注意:它还将修改此对象的任何其他视图(例如,来自 DataFrame 的列)。 如果为 True,则返回调用者。

  • limit: 它定义了向前或向后填充的最大间隙大小。
  • regex: 它检查是否将 to_replace 和/或 value 解释为正则表达式。 如果为 True,则 to_replace 必须是字符串。 否则,to_replace 必须为 None,因为此参数将被解释为正则表达式或正则表达式的列表、字典或数组。
  • method: 当 to_replace 是列表时,它是一种用于替换的方法。

Returns: 它返回替换后的 DataFrame 对象。

示例 1

输出

           Language known
Parker        Python
Smith         Android
John          C
William       Android
Dean          Python
Christina     C++
Cornelia      C



             Language known
Parker         1
Smith          4
John           3
William        4
Dean           1
Christina      5
Cornelia       3

示例 2

以下示例使用 DataFrame 中的另一个值替换一个值。

输出

     name       age       City
0	Parker      27         US
1	Smith       34         Belgium
2	John        38         London

Example3

以下示例从字典中替换值

输出

    name        age     City
0	Parker      27       US
1	William     29       Belgium
2	John        31       London

Example4

以下示例从正则表达式替换值

输出

    name       age      City
0	Parker     27        US
1	Ela        34        Belgium
2	John       31        London

下一个主题DataFrame.iloc[]