我想使用将旧代码映射到新代码的字典替换数据帧列中的一些值。
di = dict( { "myVar": {11:0, 204:11} } )
mydata.replace( to_replace = di, inplace = True )
但是一些新的代码和旧的代码重叠。当使用数据帧的.replace方法时,我遇到了错误'Replacement not allowed with overlapping keys and values'
我目前的解决方法是手动替换有问题的键,然后将字典应用于其余不重叠的情况。
mydata.loc[ mydata.myVar == 11, "myVar" ] = 0
di = dict( { "myVar": {204:11} } )
mydata.replace( to_replace = di, inplace = True )
有没有更紧凑的方法来做这个?
我找到了一个答案here,它在一个系列中使用.map方法并结合字典。下面是一个使用重叠键和值重新编码字典的示例。
更新:
使用map,原始序列中的每个值都必须映射到一个新值。如果映射字典不包含原始列的所有值,则未映射的值将映射到NaN。
相关问题 更多 >
编程相关推荐