python - 替换 python 数据框中的值

标签 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(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/

相关文章:

python - 如何监控python wsgi服务器,当它崩溃时重新启动它

python - 为 FOR 循环编写 Django 的有效查询?

python - 如何修复此收敛错误? Python 3 统计模型

python - 将 Dataframe 列中的列表拆分为特定的列名称

Python:获取数据帧的2个时间列之间的时间差并过滤它们

r - 优先删除数据框中的部分重复项

python - 无法将总列添加到现有索引数据框中

python - 根据列值返回SQL Server列名和对应的值

Python 3.4 - Pandas - 帮助正确排列数据框列和删除无效列

python - 在python中删除字符串的未知部分