我正在尝试用“映射”数据框中的映射替换“映射”数据框中的值。
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].replace(str(val), str(map))
replace
未就位。要么传递它inplace=True
,要么重新分配它:
mapped[coln].replace(str(val), str(map), inplace=True)
或
映射[列] = 映射[列].replace(str(val), str(map))
关于python - 替换 python 数据框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41487697/