Python 3:在 pandas 数据框中显示长整数
Python 3: display long integers in pandas dataframe
我正在尝试使用简单的一行将 pandas 数据框中的列值设置为一些大数字:
df['Capital'] = 58143898.13876611
它在 df 中显示为格式 5.814380e+07。我想要它作为 58143898.
我试过的:
df['Capital'] = int(58143898.13876611)
类似问题:How to print all digits of a large number in python?, but it's outdated because I learned from NameError: global name 'long' is not definedpython3中long被int替换了,但是还是显示5.814380e+07。
然而,如果我只打印以下行,它会显示为 58143898。
In [2] int(58143898.13876611)
Out[2] 58143898
请帮忙!非常感谢您:)
你在抱怨pandas代表你的号码
floating point 而不是整数形式。
Coldspeed 指出 .astype()
可以
将列更改为所需的类型。
要更好地了解 pandas 对您的输入做了什么,请查看:
df.dtypes
您希望 Capital 列具有整数类型。
为了避免以后对类型胡闹,
在构建数据帧之前,您可能需要注意将输入转换为 int
。
Pandas 查看列中的 所有 值
并选择与整个值集兼容的类型。
所以例如包含 [1, 2.5, 3]
的列
将强制所有值浮动而不是整数。
值得注意的是 missing values 对此有非常显着的影响。
你可能想要这样的东西:
df2 = df1.dropna()
某些 FP 位模式被保留用作 NaN
,
但是 pandas 遗憾的是 没有 保留 maxint
,
也不是任何其他整数值,
对缺失数据的概念进行建模。
因此,像 [1, None, 3]
这样的输入将从 int 提升为 float。
我正在尝试使用简单的一行将 pandas 数据框中的列值设置为一些大数字:
df['Capital'] = 58143898.13876611
它在 df 中显示为格式 5.814380e+07。我想要它作为 58143898.
我试过的:
df['Capital'] = int(58143898.13876611)
类似问题:How to print all digits of a large number in python?, but it's outdated because I learned from NameError: global name 'long' is not definedpython3中long被int替换了,但是还是显示5.814380e+07。
然而,如果我只打印以下行,它会显示为 58143898。
In [2] int(58143898.13876611)
Out[2] 58143898
请帮忙!非常感谢您:)
你在抱怨pandas代表你的号码
floating point 而不是整数形式。
Coldspeed 指出 .astype()
可以
将列更改为所需的类型。
要更好地了解 pandas 对您的输入做了什么,请查看:
df.dtypes
您希望 Capital 列具有整数类型。
为了避免以后对类型胡闹,
在构建数据帧之前,您可能需要注意将输入转换为 int
。
Pandas 查看列中的 所有 值
并选择与整个值集兼容的类型。
所以例如包含 [1, 2.5, 3]
的列
将强制所有值浮动而不是整数。
值得注意的是 missing values 对此有非常显着的影响。 你可能想要这样的东西:
df2 = df1.dropna()
某些 FP 位模式被保留用作 NaN
,
但是 pandas 遗憾的是 没有 保留 maxint
,
也不是任何其他整数值,
对缺失数据的概念进行建模。
因此,像 [1, None, 3]
这样的输入将从 int 提升为 float。