将我的列转换为2个小数位

Ome*_*shi 3 python decimal pandas

我有一个数据集:

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

它具有列名称,例如“ lerate”,是国家汇率的日志。它在5个小数位内,而我正尝试将其转换为2个小数位。

我正在使用以下代码:

for i in range(len(df.lerate)):
    print ("%.2f" % df.lerate[i])
Run Code Online (Sandbox Code Playgroud)

给我一个错误。

有人可以帮忙吗?我不知道这是怎么回事。

ber*_*nie 5

您可以使用round

df.lerate = df.lerate.round(2)
Run Code Online (Sandbox Code Playgroud)

例:

>>> 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
Run Code Online (Sandbox Code Playgroud)