如何在熊猫read_csv中设置千位分隔符?

时间:2019-06-05 20:55:21

标签: python pandas

我正在读取这样的csv文件:

import pandas as pd

arq_pedido = pd.read_csv('Pedido.csv',delimiter=";", encoding = "ISO-8859-1")

我有一个ID列(该列应该是INT列,但是在巴西(葡萄牙语)中,千位数字表示为:1.000而不是1000。 因此,我的ID栏目前为dfloat64

我有一个1.908 (1908)的ID,这个数字显示1.9080000000000001.如何将dfloat64转换为int?或者,如何将点(。)替换为逗号(,),以使该数字成千上万?

2 个答案:

答案 0 :(得分:1)

为此有一个thousands参数。试试

arq_pedido = pd.read_csv('Pedido.csv', delimiter=";", encoding = "ISO-8859-1", thousands=".")

您可能还希望将decimal=","设置为正确处理小数。

答案 1 :(得分:0)

read_csv方法的参数几乎适用于所有可能的方案。您可能对千位分隔符的thousands参数,小数点的decimal参数和列分隔符的sep参数感兴趣。

import pandas as pd
import io
foobar = io.StringIO("foo;bar \n 1,000; 2.0")
pd.read_csv(foobar, thousands=",", decimal=".", sep=";")
#    foo  bar 
#0  1000   2.0