将我的列转换为2位小数

4

我有一个数据集:

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
"而且它给了我一个错误" - 你是要提供错误信息,还是让我们猜测? - jww
我改善了问题的布局和格式。作者应该指定正在发生的确切错误。 - Matheus Moreira
1个回答

10
你可以使用 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接