我试图用简单的一行将熊猫数据框中的列值设置为一些大数字:
<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)
请帮助!提前非常感谢:)
答案 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。