Python Pandas-用浮点数替换整数

Python Pandas-用浮点数替换整数,python,pandas,Python,Pandas,我想在Pandas中将整数变量“重新编码”为浮点变量。但这似乎不像我预期的那样有效。基本上我有一个1-6的刻度,我想给它分配新的值 我目前的做法是举一个例子: df2 = pd.DataFrame({ 'A' : [1,2,3,4,5] }) df2['B'] = df2['A'].replace([1, 2, 3, 4, 5], [1, 0.85, 0.70, 0.55, 0.40]) print df2 结果: A B 0 1 1 1 2 0 2 3 0

我想在Pandas中将整数变量“重新编码”为浮点变量。但这似乎不像我预期的那样有效。基本上我有一个1-6的刻度,我想给它分配新的值

我目前的做法是举一个例子:

df2 = pd.DataFrame({
    'A' : [1,2,3,4,5]  
})

df2['B'] = df2['A'].replace([1, 2, 3, 4, 5], [1, 0.85, 0.70, 0.55, 0.40])

print df2
结果:

   A  B
0  1  1
1  2  0
2  3  0
3  4  0
4  5  0
正确的做法是什么

>>> df2['A'].astype(float).replace([1, 2, 3, 4, 5], [1, 0.85, 0.70, 0.55, 0.40])
0    1.00
1    0.85
2    0.70
3    0.55
4    0.40
Name: A, dtype: float64
可能更合适的方法是使用:

可能更合适的方法是使用:


再次感谢!很好用!再次感谢!很好用!
>>> df2['A'].map(dict(zip([1, 2, 3, 4, 5], [1, 0.85, 0.70, 0.55, 0.40])))
0    1.00
1    0.85
2    0.70
3    0.55
4    0.40
Name: A, dtype: float64