Pandas 教程-Pandas DataFrame.replace()
整理:python架构师
Pandas 的 replace() 是一个非常丰富的函数,用于从 DataFrame 中替换 字符串,正则表达式,字典,列表 和 系列。DataFrame 的值可以动态地替换为其他值。它能够与 Python 正则表达式一起使用。
这与使用 .loc 或 .iloc 进行更新不同,后者需要您指定要用某个值进行更新的位置。
语法:
DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)
参数:
to_replace: 定义我们要在 DataFrame 中替换的模式。
value: 用于填充 DataFrame 中空洞的值(例如 0),或者是一个指定每列使用哪个值的字典(不在字典中的列将不被填充)。它还允许诸如正则表达式、字符串、列表或字典等对象。
inplace: 如果为 True,则在原地替换。
注意: 如果为 True,它还将修改此对象的任何其他视图(例如,DataFrame 的列)。如果为 True,则返回调用者。
limit: 定义前向或后向填充的最大大小间隙。
regex: 它检查是否将 to_replace 和/或 value 解释为正则表达式。如果为 True,则 to_replace 必须是一个字符串。否则,to_replace 必须为 None,因为此参数将被解释为正则表达式或正则表达式列表、字典或数组。
method: 当 to_replace 是一个列表时,它是用于替换的方法。
返回: 在替换后返回一个 DataFrame 对象。
专属福利 👉点击领取:最全Python资料合集
示例1:
import pandas as pdinfo = pd.DataFrame({'Language known': ['Python', 'Android', 'C', 'Android', 'Python', 'C++', 'C']},index=['Parker', 'Smith', '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 knownParker PythonSmith AndroidJohn CWilliam AndroidDean PythonChristina C++Cornelia CLanguage knownParker 1Smith 4John 3William 4Dean 1Christina 5Cornelia 3
示例2:
import pandas as pdinfo = pd.DataFrame({'name':['Parker','Smith','John'],'age':[27,34,31],'city':['US','Belgium','London']})info.replace([29],38)
name age City0 Parker 27 US1 Smith 34 Belgium2 John 38 London
示例3:
import pandas as pdinfo = pd.DataFrame({'name':['Parker','Smith','John'],'age':[27,34,31],'city':['US','Belgium','London']})info.replace({34:29,'Smith':'William'})
name age City0 Parker 27 US1 William 29 Belgium2 John 31 London
示例4:
import pandas as pdinfo = pd.DataFrame({'name':['Parker','Smith','John'],'age':[27,34,31],'city':['US','Belgium','London']})info.replace('Sm.+','Ela',regex=True)
name age City0 Parker 27 US1 Ela 34 Belgium2 John 31 London
热门推荐