如果值位于data中,如何用filllist中的信息替换数据表varlist中的值?

import pandas as pd
data = pd.DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 10]})
varlist = (5,7,9,10)
fillist = ('a', 'b', 'c', 'd')
data[data.isin(varlist)==True] = 'is in varlist!'


返回数据为:

    A               B
 0  is in varlist!  1
 1  6               2
 2  3               3
 3  4               is in varlist!


但我想要:

    A               B
 0  a               1
 1  6               2
 2  3               3
 3  4               d

最佳答案

使用数据框的replace方法。

replace_map = dict(zip(varlist, fillist))
data.replace(replace_map)


这给

   A  B
0  a  1
1  6  2
2  3  3
3  4  d


如果您想以其他方式使用它,可以在这里找到文档:
replace method documentation

关于python - 如果在列表中,则替换 Pandas 数据表中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33566961/

10-10 05:55