以 Fortran 连续顺序重塑 numpy.array

2024-04-04

我有一个如下所示的数组,

from numpy import *
a=array([1,2,3,4,5,6,7,8,9])

我想得到如下结果

[[1,4,7],[2,5,8],[3,6,9]]

因为我有一个很大的数组。所以我需要一种有效的方法来做到这一点。最好就地重塑它。


您可以使用reshape通过order='F'。只要有可能,返回的数组将只是原始数组的视图,而不复制数据,例如:

a = np.arange(1, 10)
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])
b = a.reshape(3, 3)
c = a.reshape(3, 3, order='F')

a[0] = 11

print(b)
#array([[ 11,  4,  7],
#       [ 2,  5,  8],
#       [ 3,  6,  9]])

print(c)
#array([[ 11,  4,  7],
#       [ 2,  5,  8],
#       [ 3,  6,  9]])

The flags属性可用于检查数组的内存顺序和数据所有权:

print(a.flags)
  C_CONTIGUOUS : True
  F_CONTIGUOUS : True
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False

print(b.flags)
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : False
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False

print(c.flags)
  C_CONTIGUOUS : False
  F_CONTIGUOUS : True
  OWNDATA : False
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以 Fortran 连续顺序重塑 numpy.array 的相关文章

随机推荐

  • Node.js 中的客户端-服务器通信

    我最近开始使用 Node js 来制作一个在线游戏 用于教育 通过阅读各种教程 我想出了如下所示的简单代码 使用我拥有的代码 我能够进行客户端 服务器通信 这基本上是我制作游戏所需的全部内容 只有一个问题 只有客户端可以发起会话 而服务器只
  • 在 gridview 中显示数据库中的数据

    有谁知道如何将数据库条目放入android中的gridview中 或者是否有一个教程解释了如何做到这一点 请通过提供完整的示例来帮助我 您将需要使用游标适配器 http developer android com reference and
  • 当片段更改时如何更新视图?

    我有一个活动 其中有 2 个 sherlockfragment 前两个页面显示带有自定义列表视图的片段 这些视图是使用 AsyncTask 从服务器的 xml 构建的 但是 当应用程序运行时 仅显示一个列表视图 另一页只是空白 public
  • new URL() - WHATWG URL API

    我正在摆弄节点 并试图获取 URL 类的实例 因为这些方便的属性 喜欢 const URL require url http createServer request response gt let uri new URL request
  • 如何生成具有给定限制和平均值的随机数? [复制]

    这个问题在这里已经有答案了 我想生成一系列 30 个随机数 其中上限为 40 下限为 12 平均值为 23 总结 n 30 最小值 12 最大值 40 平均值 23 提前致谢 如果您想要连续分布 您可以获得最小值和最大值之间的任何浮点值 一
  • 如何在 UML 中指定“一次一个”?

    我正在制作一个类图Classroom and a Course class 我怎样才能表明Classroom只能有一个Course一次在其中吗 我知道我可以使用多重性来指定教室可以只开设一门课程 但这并不能完全指定在不同时间可以有除该一门课
  • 列表中情侣的乘积之和

    我想找出列表中情侣的乘积之和 例如给出一个列表 1 2 3 4 我想要得到的是答案 1 2 1 3 1 4 2 3 2 4 3 4 我使用暴力来完成此操作 它会给我带来非常大的列表的超时错误 我想要一种有效的方法来做到这一点 请告诉我 我该
  • setFont(Times-Roman) 不能缺少 T1 文件吗?

    我有错误 Can t find pfb for face Times Roman Error reportlab graphics renderPM RenderPMError Can t setFont Times Roman missi
  • 使用 StreamReader 异步解码 utf-8

    我正在习惯 asyncio 并发现任务处理非常好 但将异步库与传统 io 库混合起来可能很困难 我当前面临的问题是如何正确解码异步 StreamReader 最简单的解决方案是read 字节字符串块 然后解码每个块 请参阅下面的代码 在我的
  • React Native 嵌套 ScrollView 锁定

    我正在尝试将 ScrollViews 嵌套在 React Native 中 带有嵌套垂直滚动条的水平滚动条 这是一个例子 var Test React createClass render function return
  • 使用 urllib2 或任何其他 http 库读取超时

    我有用于读取这样的网址的代码 from urllib2 import Request urlopen req Request url for key val in headers items req add header key val r
  • 如何测试 Stripe 中的订阅续订流程?

    我想测试我的应用程序在订阅付款已完成 或失败 时对来自 stripe 的 webhook 事件的处理 这是我到目前为止所尝试过的 设置新订阅 将用户的信用卡更新为可以添加到帐户但无法实际扣款的信用卡 将试用结束日期更改为一秒内 等待几秒钟
  • 如何使用 Arc 和 Weak 创建循环引用?

    我有两个结构 struct A map HashMap
  • 为什么drawRect:在不调用[superdrawrect:rect]的情况下工作?

    我在我的视图之一中重写了drawRect 即使不调用 superdrawrect rect 它也能工作 这是如何运作的 void drawRect CGRect rect CGContextRef context UIGraphicsGet
  • Angular `HttpClient` `.get()` 泛型可以有非简单属性类型吗? (例如“字符串”或“数字”除外)

    我花了一天时间研究这个主题 但没有找到任何线索 我所找到的只是omission 因为我读过的任何内容都表明你can使用非简单类型 我的意思是string and number 用于调用 Angular 4 4 时的通用接口 shape Ht
  • 如何正确配置照片文件以匹配 html input.files 的格式与 Cordova 相机?

    我有一个现有的网络服务 可以处理用户输入的照片 以及其他一些数字和文本数据 照片是通过输入标签捕获的
  • 使用 PHP 变量执行 Python 脚本

    我正在编写一个简单的应用程序 它使用表单中的信息 通过 POST 将其传递到 PHP 脚本 该脚本执行 python 脚本并输出结果 我遇到的问题是我的 python 脚本实际上并未在传入参数的情况下运行 process3 php 文件
  • .NET 有没有好的图像识别库?

    我希望能够将网络摄像头拍摄的图像与计算机上存储的图像进行比较 该库不需要百分百准确 因为它不会用于任何关键任务 例如警方调查 我只想要一些我可以使用的东西 我尝试过一个演示项目CodeProject 的图像识别 http www codep
  • CUDA错误:在python中使用并行时初始化错误

    我的代码使用 CUDA 但运行速度仍然很慢 因此 我将其更改为使用 python 中的多处理 pool map 并行运行 但我有CUDA ERROR initialization error 这是函数 def step M self ite
  • 以 Fortran 连续顺序重塑 numpy.array

    我有一个如下所示的数组 from numpy import a array 1 2 3 4 5 6 7 8 9 我想得到如下结果 1 4 7 2 5 8 3 6 9 因为我有一个很大的数组 所以我需要一种有效的方法来做到这一点 最好就地重塑