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



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

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

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

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

有一个thousands参数。尝试

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

您可能还希望设置decimal=","以正确处理十进制数。

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

最新更新