当前位置: 首页 > 面试题库 >

我可以将float128设置为numpy中的标准float数组吗

翟嘉年
2023-03-14
问题内容

所以我的数字程序有问题,我很好奇它是否是一个精度问题(即四舍五入误差)。有没有一种快速的方法可以将程序中的所有float数组都更改为float128数组,而无需遍历我的代码并dtype='float128'在各处键入内容。我的数组都是float64,但我从未明确写过dtype='float64',所以我希望有办法改变这种默认行为。


问题答案:

我不认为您可以更改中央“配置”来实现此目的。您可以执行的一些选择:

  1. 如果仅通过NumPy的工厂函数中的很少一个来创建数组,请用您自己的版本替换这些函数。如果您导入这些功能,例如
    from numpy import empty
    

你可以做

    from numpy import float128, empty as _empty
def empty(*args, **kwargs):
    kwargs.update(dtype=float128)
    _empty(*args, **kwargs)

如果你在做

    import numpy

你可以写一个模块 mynumpy.py

    from numpy import *
_empty = empty
def empty(*args, **kwargs):
    kwargs.update(dtype=float128)
    _empty(*args, **kwargs)

并像导入

    import mynumpy as numpy
  1. 重构代码以始终使用dtype=myfloat。这将使将来的更改变得容易。您可以将此方法与结合使用numpy.empty_like()numpy.zeros_like()numpy.ones_like()在适当的地方将实际数据类型硬编码在尽可能少的位置。

  2. 子类numpy.ndarray,仅使用您的自定义构造函数创建新数组。



 类似资料:
  • 问题内容: 我们可以如下将样式设置为html head标题中的title标签。我试过了没用.. 问题答案: 您可以将CSS应用于元素,但不能应用于属性(因为它适用于“除BASE,BASEFONT,HEAD,HTML,META,PARAM,SCRIPT,STYLE,TITLE”之外的[所有元素)。 我不知道有任何浏览器会应用CSS来在浏览器标签或标题栏中显示标题。 但是,您可以执行以下操作:

  • 问题内容: 给定:int x [3] = {11,22,33}; 如何将其作为键值保存为二进制数据并获取 hiredis提供了有关如何设置二进制安全字符串的示例 但是其他数据又如何获取呢? 问题答案: 将二进制数据直接存储在远程存储中而不进行任何编组处理是灾难的根源。我不建议这样做:可以使用许多序列化协议来使二进制数据独立于平台。 也就是说,回答您的问题: 请注意,只有在确保所有Redis客户端在

  • 问题内容: 我想在numpy数组中设置特定值(以将它们从按行均值计算中排除)。 我试过了 看着,我只会看到我的期望。 我想到了一个替代方案: 没发生什么事。我究竟做错了什么? 问题答案: 将适当元素设置为NaN的矢量化方法 @unutbu的解决方案必须摆脱您得到的值错误。如果您希望获得性能,可以这样使用- 样品运行- 向量化方法可直接计算适当元素的按行平均值 如果要获取掩盖的平均值,则可以修改较早

  • 问题内容: 我有一个numpy数组,其中特定行的每个单元格代表一个功能的值。我将它们全部存储在100 * 4矩阵中。 知道如何将每个值都介于0和1之间的numpy.array的行标准化吗? 我想要的输出是: 提前致谢 :) 问题答案: 如果我理解正确,那么您要做的就是除以每一列中的最大值。您可以使用广播轻松地做到这一点。 从示例数组开始: 在第0维(即行)上取最大值。这为您提供了一个大小向量,其中

  • 我目前使用的@Value Spring 3.1.x注释如下所示: 如果属性不存在,这会将一个空字符串放入变量中。我希望将null作为默认值,而不是空字符串。当然,我还希望避免在未设置属性stuff.value时出现错误。

  • 问题内容: 我正在尝试对Spring 3.1 的批注支持,并且想知道是否有任何方法可以通过设置TTL在一段时间后清除缓存的数据?现在,从我看到的内容中,我需要使用和自己清除它,并与我一起使用可以实现TTL实现,但是对于这样一个简单的任务来说似乎有点多了吗? 问题答案: 参见http://static.springsource.org/spring/docs/3.1.x/spring-framewo