Python 3:在熊猫数据帧中显示长整数



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

df['Capital'] = 58143898.13876611

它在DF中显示为格式5.814380e + 07。我希望它58143898。

我尝试过:

df['Capital'] = int(58143898.13876611)

类似的问题:如何在python中打印一个大数字的所有数字?但它已经过时了,因为我从NameError中学到了:全局名称"long"没有定义long在python 3中被int替换。但它仍然显示 5.814380e+07。

然而,如果我只打印以下行,它确实显示为58143898。

In [2] int(58143898.13876611)
Out[2] 58143898

请帮忙!提前非常感谢你:)

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

为了更好地了解熊猫对你的输入做了什么,请查看:

df.dtypes

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

为了避免以后需要对类型进行胡言乱语, 在构造数据帧之前,您可能需要注意将输入转换为int。 熊猫查看列中的所有值并选择与整组值兼容的类型。 例如,包含[1, 2.5, 3]的列 将强制所有值浮点数而不是整数。

值得注意的是,缺失值可能会对此产生非常明显的影响。 您可能需要类似以下内容:

df2 = df1.dropna()

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

最新更新