如果值位于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/