Python 3:在pandas数据框中显示长整数

时间:2019-04-14 18:02:02

标签: python-3.x pandas long-integer

我试图用简单的一行将熊猫数据框中的列值设置为一些大数字:

<div>
    <img src="image.jpg" alt="text">
</div>

,它以df格式显示为5.814380e + 07。我希望它是58143898。

我尝试过的事情:

df['Capital'] = 58143898.13876611

类似的问题:How to print all digits of a large number in python?,但是已经过时了,因为我从NameError: global name 'long' is not defined得知在python 3中long被int取代了。但是它仍然显示5.814380e + 07。

但是,如果我只打印以下行,它的确显示为58143898。

df['Capital'] = int(58143898.13876611)

请帮助!提前非常感谢:)

1 个答案:

答案 0 :(得分:1)

您抱怨熊猫代表您的电话号码 以floating point而不是整数形式。 Coldspeed指出.astype()可以 将列更改为所需的类型。

要更好地了解您的输入对熊猫的影响,请查看:

df.dtypes

您希望“资本”列具有整数类型。

为避免以后再麻烦类型, 您可能需要在构造数据框之前将输入转换为int 。 熊猫查看列中的 all 值 并选择与整个值集兼容的类型。 所以例如包含[1, 2.5, 3]的列 将强制所有值浮动而不是整数。

值得注意的是,missing values对此可以产生非常明显的影响。 您可能想要类似的东西:

df2 = df1.dropna()

某些FP位模式保留用作NaN, 但是遗憾的是熊猫没有保留maxint, 也不是其他整数值 建模缺失数据的概念。 因此,像[1, None, 3]这样的输入将从int提升为float。