我正在读取这样的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?或者,如何将点(。)替换为逗号(,),以使该数字成千上万?
答案 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