替换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)