替换python数据帧中的值
我试图用“映射”数据框中的映射替换“映射”数据框中的值替换python数据帧中的值,python,pandas,dataframe,Python,Pandas,Dataframe,我试图用“映射”数据框中的映射替换“映射”数据框中的值 for column in df: mapped[column] = df[column].astype(str) for i, row in mappings.iterrows(): coln = row['colname'] val = row['value'] map = row['mapping'] print 'match::' + coln + ":"+str(val)+ ":"+str
for column in df:
mapped[column] = df[column].astype(str)
for i, row in mappings.iterrows():
coln = row['colname']
val = row['value']
map = row['mapping']
print 'match::' + coln + ":"+str(val)+ ":"+str(map)
print mapped[mapped[coln]== val]
mapped[coln].replace(str(val), str(map))
print mapped.head()
尽管存在匹配的记录,“映射”数据框中的值不会被替换。如何修复此问题?映射[coln]。替换(str(val),str(map))
默认情况下,replace
不在原位。传递它inplace=True
或重新分配它:
mapped[coln]。替换(str(val),str(map),inplace=True)
或
mapped[coln]=mapped[coln].replace(str(val),str(map))
replace
默认情况下不是就地操作。您必须将更改分配回感兴趣的列。So-mapped[coln]。替换(str(val),str(map),inplace=True)