Pandas replace()是一个非常丰富的函数,用于替换DataFrame中的字符串,正则表达式,字典,列表,和Series。 DataFrame的值可以动态替换为其他值。它能够使用Python regex(正则表达式)。
它不同于使用 .loc 或 .iloc 进行更新的方法,后者需要您指定要更新值的位置。
DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)
它在替换后返回一个DataFrame对象。
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
下面的示例在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
下面的示例替换了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
以下示例替换了正则表达式中的值:
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
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)