熊猫编码取整大于0.5到1的值

时间:2019-03-04 19:38:01

标签: python python-3.x pandas

我有一个数据框列,并想将其取整。如果该值等于0.5,则将其舍入为0,但是如果该值大于或等于0.5,我希望将其取为1。 有人可以帮忙吗

1 个答案:

答案 0 :(得分:0)

pandas.round函数中似乎存在一个问题,该问题未将0.5舍入到1。在这种情况下,您可以将内置roundapplymap

一起使用
import pandas as pd
import numpy as np

def getRound(x):
    return(round(x))

df = pd.DataFrame(np.random.random([3, 3]),
columns=['A', 'B', 'C'], index=['first', 'second', 'third'])

df看起来像这样

               A         B         C
first   0.474011  0.082135  0.476545
second  0.313154  0.265458  0.523410
third   0.057491  0.141635  0.037582

将一个值更改为0.5

df['A'][1]=0.5

应用lambda函数

df.applymap(getRound)

输出:

          A    B    C
first   0.0  0.0  0.0
second  1.0  0.0  1.0
third   0.0  0.0  0.0