DataFrame.replace函数

DataFrame.replace函数 首页 / Pandas入门教程 / DataFrame.replace函数

Pandas replace()是一个非常丰富的函数,用于替换DataFrame中的字符串,正则表达式,字典,列表,Series。 DataFrame的值可以动态替换为其他值。它能够使用Python regex(正则表达式)。

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

replace - 语法

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)

replace - 参数

  • to_replace    -  定义无涯教程要在dataframe中替换的模式。
  • value              -  它是一个用于填充DataFrame中的值(例如0),或者是一个值的字典,该值指定用于每个列的值。 它还允许使用正则表达式,字符串以及列表或字典等对象。
  • inplace          -  如果为True,则将其替换为place。

Note: 还将修改此对象的任何其他视图(例如,DataFrame中的列)。如果为True,则返回调用方。

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

replace - 返回

它在替换后返回一个DataFrame对象。

范例1:

import pandas as pd
info = pd.DataFrame({'Language known': ['Python', 'Android', 'C', 'Android', 'Python', 'C++', 'C']},
index=['Parker', 'Learnfk', 'John', 'William', 'Dean', 'Christina', 'Cornelia'])
print(info) 
dictionary = {"Python": 1, "Android": 2, "C": 3, "Android": 4, "C++": 5}
info1 = info.replace({"Language known": dictionary})
print("\n\n")
print(info1)

输出

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



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

范例2:

下面的示例在DataFrame中用另一个值替换一个值。

import pandas as pd
info = pd.DataFrame({
    'name':['Parker','Learnfk','John'],
    'age':[27,34,31],
    'city':['US','Belgium','London']
})
info.replace([29],38)

输出

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

范例3:

下面的示例替换了dict中的值:

import pandas as pd
info = pd.DataFrame({
    'name':['Parker','Learnfk','John'],
    'age':[27,34,31],
    'city':['US','Belgium','London']
})
info.replace({
    34:29,
    'Learnfk':'William'
})

输出

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

范例4:

以下示例替换了正则表达式中的值:

import pandas as pd
info = pd.DataFrame({
    'name':['Parker','Learnfk','John'],
    'age':[27,34,31],
    'city':['US','Belgium','London']
})
info.replace('Sm.+','Ela',regex=True)

输出

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术领导力实战笔记 -〔TGO鲲鹏会〕

白话法律42讲 -〔周甲徳〕

从0开始做增长 -〔刘津〕

DDD实战课 -〔欧创新〕

安全攻防技能30讲 -〔何为舟〕

Python自动化办公实战课 -〔尹会生〕

打造爆款短视频 -〔周维〕

去无方向的信 -〔小麥〕

说透低代码 -〔陈旭〕

好记忆不如烂笔头。留下您的足迹吧 :)