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

如何强制numpy数组顺序为fortran样式?

董康平
2023-03-14
问题内容

我正在使用大量的fortran库来进行一些数学计算。因此,numpy中的所有数组都必须是 Fortran-contiguous的
目前,我使用numpy.asfortranarray()完成此操作。

我的问题是:

  1. 这是一种告诉numpy数组应该以fortran样式存储的快速方法还是有一种更快的方法?
  2. 是否可以设置一些numpy标志,以使创建的每个数组都具有fortran风格?

问题答案:

生成numpy.array对象时,请使用可选参数order
=’F’(默认为’C’)。这就是我这样做的方式,可能会做与您相同的事情。关于数字2,我不知道设置默认顺序,但是在生成数组时仅包含order可选参数就足够了。



 类似资料:
  • 问题内容: 我需要将一个numpy数组序列化为某些JSON兼容形式。由于我使用的框架无法让我访问JSON编码器/解码器对象,因此我一直坚持将numpy数组序列化为可以将其编组为JSON的对象。我选择了array.tobytes或array.tostring(两者似乎基本上是同一件事)。 以下是说明我的问题的示例: 在检查的值时a2,我发现它仅包含原始内容的第一行a。换句话说,a2 == a[0,

  • 问题内容: 我有一个数组: 我想创建的另一个数组和其唯一的元素为x。 我已经试过这段代码: 但是它会产生一系列形状。 我当然可以做: 但我希望该解决方案能够轻松扩展到更大的形状,例如: 无需在所有索引上运行循环。 有什么建议可以做到这一点吗? UPD1 数组可能不同,如: 它们也可能具有不同的形状,但是对于那种情况,一个简单的构造函数就可以了 UPD2 我真的想要一种可以处理任意形状(不一定都一样

  • 问题内容: 假设我有; 我尝试转换; 我现在正在vstack上通过迭代来解决它,但是对于特别大的LIST来说确实很慢 您对最佳有效方法有何建议? 问题答案: 通常,您可以沿任意轴连接整个数组序列: 但你 也 必须对列表中的形状和每个阵列的维度担心(用于2维3x5的输出,你需要确保它们都是2维正由-5阵列的话)。如果要将一维数组连接为二维输出的行,则需要扩展其维数。 正如Jorge的答案所指出的那样

  • 我正在尝试使用XlsxWriter将Python写入Excel工作簿。我有一本字典叫,它的键是元组。 我想在列中写入键(0,t)的值,但这些值不是按正常顺序显示的。例如,如果我的字典如下所示: 我进入Excel: 当我在第二个循环中严格确定了我希望如何编写我的值时,为什么会发生这种情况?

  • 问题内容: 我有一个形状为(x,y)的2d数组,我想将其转换为形状为(x,y,1)的3d数组。有没有很好的Pythonic方式可以做到这一点? 问题答案: 除了其他答案,您还可以将切片与结合使用: 甚至这个(可以在任意数量的尺寸下使用):

  • 问题内容: 考虑数组 绑定转换为float数组会引发异常 numpy是否提供任何有效的方法将其强制转换为数字数组,并用NAN等替代非数字值? 或者,是否有一个等效于的有效numpy函数,但是该函数还可以测试字母之类的非数字元素? 问题答案: 您可以使用以下方式将字符串数组转换为浮点数组(带有NaN): 这是一种识别“数字”字符串的方法: 请注意,“数字”是指仅包含数字字符的Unicode,即具有U