我正在阅读这样的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