python - 获取支持fortran有序numpy数组的数据数组
问题描述
所以我理解 numpy 数组的“fortran 排序”意味着它是存储的主要列,但实际上并不影响数据所代表的内容。我正在寻找的是一种获取列主要 numpy 数组的方法,并返回一个一维数组,该数组以与 numpy 的内部列主要表示相同的顺序存储。
例如,假设我有一个这样的数组,但它以列主要格式存储。
array([[1, 2, 3],
[4, 5, 6]])
由于它是主要的专栏,因此大步是(8, 16)
我想要一种方法来获得扁平的列主要表示,即:
array([1, 4, 2, 5, 3, 6])
解决方案
.flatten
与参数一起使用F
。
a = np.array([[1, 2, 3],
[4, 5, 6]])
a.flatten('C') #row major
>>> [1, 2, 3, 4, 5, 6]
a.flatten('F') #column major
>>> [1, 4, 2, 5, 3, 6]
转置它然后使其变平也是另一种 hacky 方式。
a.T.reshape(-1)
>>> [1, 4, 2, 5, 3, 6]
推荐阅读
- sql - 将 SQL 代码(作为字符串)转换为表 - 动态数据透视
- firebase - NoSuchMethodError。getter 'weekday' 被调用为 null。Table_Calendar Flutter
- javascript - 基于 state.vallue 值 reactjs 隐藏/取消隐藏操作图标
- python-3.x - Spyder,干净的 Win 安装,版本。4.2.3 - pip 给出消息“没有名为 pip 的模块”
- php - 如何使包含转义序列和反斜杠的json有效?
- php - PHP Regex 忽略注释行
- ios - 我的导航栏和警报标题以及底部警报标题在整个项目中变为白色
- python - 如何在光线追踪迷宫之前运行动画屏幕(python asciimatics)
- laravel - Laravel:嵌套关系中的额外关系
- static - Java EE 中的静态方法