Pandas将int值转换为datafram中的浮点值

2024-04-26 11:46:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个脚本,将一个csv文件作为输入,使用pandas操作数据并创建另一个csv文件。在

一切正常,但是pandas默认将整数值转换为double。 e、 g

在csv之前:

5f684ee8-7398-914d-9d87-7b44c37ef081,France,44,72000,No,isBool("true")

csv格式:

^{pr2}$

这里44和72000更改为44.0和72000.0

我知道如何在dataframe中使用apply()将它们转换为int,但是这个脚本将是通用的,我希望首先配置panda。在

基本上,我希望熊猫不要把.0如果不是一个浮点数。在

谢谢。在


Tags: 文件csv数据no脚本truedataframepandas
2条回答

与B.M.的答案类似,您可以按如下方式解析浮动:

df.to_csv(float_format="%.10g")

如果数字的精度不超过10位,这将强制写入不带指数的数字。因此2147483647将呈现为2147483647,10-2将呈现为0.01。如果你有大整数(大于10位数),你会遇到问题,因为这些大整数将被呈现为指数。在

正如评论中所说,熊猫的一些操作可以改变数据类型。有关示例this page,请参阅。在

解决方案可以是:

df.to_csv(float_format="%.0f")

将每个(false)浮点舍入为整数格式。在

一个例子:

^{2}$

相关问题 更多 >