将我的列转换为2位小数

时间:2017-02-25 02:42:14

标签: python pandas decimal

我有一个数据集:

df = pd.read_excel('/Users/Adeel/Desktop/ECON628-01-omerqureshi84/datasets/main-data.xlsx')

它的列名称为“lerate”,这是各国汇率的对数。它在5位小数,我试图将其转换为2位小数。

我正在使用以下代码:

for i in range(len(df.lerate)):
    print ("%.2f" % df.lerate[i])

它给了我一个错误。

有人可以帮忙吗?我不知道这里有什么问题。

1 个答案:

答案 0 :(得分:4)

您可以使用round

df.lerate = df.lerate.round(2)

示例:

>>> df = pd.DataFrame(np.random.random([3, 3]), 
                      columns=['A', 'B', 'C'], index=['first', 'second', 'third'])
>>> df.A = df.A.round(2)
>>> df
           A         B         C
first   0.82  0.581855  0.548373
second  0.21  0.536690  0.986906
third   0.78  0.100343  0.576521