📅  最后修改于: 2020-10-29 03:08:39             🧑  作者: Mango
Pandas replace()是一个非常丰富的函数,用于替换DataFrame中的字符串,正则表达式,字典,列表和序列。 DataFrame的值可以动态替换为其他值。它能够使用Python regex(正则表达式)。
它与.loc或.iloc更新不同,后者需要您使用一些值指定要更新的位置。
DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad', axis=None)
value
:它是一个用于填充DataFrame中的孔的值(例如0),或者是一个值的字典,它指定要用于每一列的值(不在字典中的列将不被填充)。它还允许使用正则表达式,字符串和列表或字典等对象。inplace
:如果为True,则将其替换到位。注意:它还将修改此对象的任何其他视图(例如,DataFrame中的列)。如果为True,则返回调用方。
limit
:它定义了向前或向后填充的最大尺寸差距。method
:当to_replace是列表时,它是用于替换的方法。返回:替换后返回DataFrame对象。
import pandas as pd
info = 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 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
下面的示例在DataFrame中用另一个值替换一个值。
import pandas as pd
info = pd.DataFrame({
'name':['Parker','Smith','John'],
'age':[27,34,31],
'city':['US','Belgium','London']
})
info.replace([29],38)
输出量
name age City
0 Parker 27 US
1 Smith 34 Belgium
2 John 38 London
下面的示例替换了dict中的值:
import pandas as pd
info = pd.DataFrame({
'name':['Parker','Smith','John'],
'age':[27,34,31],
'city':['US','Belgium','London']
})
info.replace({
34:29,
'Smith':'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','Smith','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