向下至浮动16英寸Pandas

2024-04-24 23:03:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道为什么pd.to_numeric方法不能下放到np.float16。 守则上说:

# pandas support goes only to np.float32,
# as float dtypes smaller than that are
# extremely rare and not well supported

链接到代码:https://github.com/pandas-dev/pandas/blob/baa77c33fb71c29acea21ba06adaf426ed4cb561/pandas/core/tools/numeric.py#L164

非常罕见?我有很多数据帧的值完全适合np.float16数组。 没有得到很好的支持?你能提供更多的细节吗?在

谢谢!!在


Tags: to方法supportonlypandasasnpfloat
1条回答
网友
1楼 · 发布于 2024-04-24 23:03:15

很多数据可以精确地放入np.float16类型,但当您使用这些数字进行计算时,问题通常会出现。正如unutbu所说:

Arithmetic errors accumulate quite quickly with float16s: np.array([0.1,0.2], dtype='float16').sum() equals (approximately) 0.2998. Especially when computations require thousands of arithmetic operations, this can be an unacceptable amount of error for many applications.

即使忽略错误,也可以发现与数据大小有关的各种问题。当使用naninfinity时,会出现naninfinity问题,这些问题是{}无法物理处理的。这就限制了其在实际情况下不太可能使用的特定计算。最大可表示值实际上只有65504。随着我们的计算机拥有更大的存储和处理能力,我们真的没有必要再把自己局限于此。所以熊猫人决定不允许这种情况出现在pd.to_numeric中,因为它确实没有太多的用途,但也有很多缺点。很多软件甚至不支持这种类型,因为它不常用,这就是他们所说的不受支持的意思。在

当然,你可以想出大量的例子来适应np.float16格式,但也有很多,更多的例子是不能的。这并不是说没有应用程序的数字越小越好。但这些应用程序可能不会使用pandas。在

相关问题 更多 >