Python 将小数字显示为零
我经常被熊猫中非常小的浮点值“实际上为零”所愚弄 例如,很难一眼就看出以下Python 将小数字显示为零,python,pandas,Python,Pandas,我经常被熊猫中非常小的浮点值“实际上为零”所愚弄 例如,很难一眼就看出以下系列的进展情况: are_they_zero a -5.960464e-08 # This number is small b -2.384186e+07 # This one isn't c 2.384186e-07 d -5.960464e+08 e 8.940697e-08 有没有办法告诉熊猫把像5.960464e-08这样的数字显示为0 (很明显,这取决于应用程序是否是一个好主意,但假设在
系列的进展情况:
are_they_zero
a -5.960464e-08 # This number is small
b -2.384186e+07 # This one isn't
c 2.384186e-07
d -5.960464e+08
e 8.940697e-08
有没有办法告诉熊猫把像5.960464e-08这样的数字显示为0
(很明显,这取决于应用程序是否是一个好主意,但假设在我的情况下是这样。)您可以使用,因为这似乎是一个浮动
另一种方法是,尝试类似(伪)的检查
如果c<2.3e-05:
c=0
您可以与'display.chop\u threshold'
一起使用来处理此问题:
In [20]:
pd.set_option('display.chop_threshold', 0.001)
df
Out[20]:
are_they_zero
a 0
b -2.384186e+07
c 0
d -5.960464e+08
e 0
这正是我想要的不必担心,我不确定它是否存在,所以我想我会查找它,它确实存在,并且做了你想做的事情假设你使用的是ipython,有%的精度
magic@JohnE我是:你能把它扩展成一个答案并举个例子吗?事实上,我只是在玩它,可能对熊猫没什么用处。它仅在打印单个值时有效,但在打印多个值(系列、数组、数据帧)时无效。无论如何,只需在提示符处键入?precision
,即可查看更多信息。
In [20]:
pd.set_option('display.chop_threshold', 0.001)
df
Out[20]:
are_they_zero
a 0
b -2.384186e+07
c 0
d -5.960464e+08
e 0