我这里有一个 pandas 数据框:
import pandas as pd
df = pd.DataFrame({'col1': ['a','a','b','b'],
'col2': ['a','a','b','b']})
我这里有一个映射字典:
dict_map = {'col1': {'a': 0.5, 'b': 1.0},
'col2': {'a': 0.6, 'b': 0.9}}
我想将每一列映射到相应的字典,以便数据框看起来像:
col1 col2
0 0.5 0.6
1 0.5 0.6
2 1.0 0.9
3 1.0 0.9
我可以轻松地遍历 df
中的列并获得所需的结果,但我试图避免迭代。如何在不迭代的情况下执行此操作?
最佳答案
您可以使用 pandas.DataFrame.replace
:
df = df.replace(dict_map)
输出:
>>> df
col1 col2
0 0.5 0.6
1 0.5 0.6
2 1.0 0.9
3 1.0 0.9
关于python - 使用不同的 map 同时映射多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69967259/