【发布时间】:2016-12-09 18:07:11
【问题描述】:
我经常使用[x, y, z] 格式的文本文件中存储的数据。将数据加载到 NumPy 数组时,可以方便地维护文本文件的顺序,其中每一列是不同的元素,x、y 或 z。这样做的缺点是 NumPy 使用 C 排序作为默认值,对所有 x 值进行操作意味着访问不连续的内存块。
要将数据加载到 Fortran 有序数组中,我可以使用
data = numpy.asfortranarray(numpy.loadtxt('data.txt'))
但是有没有办法在一行中做到这一点?查看loadtxt 文档,此方法似乎没有提供该功能。有没有另一个加载函数呢?
【问题讨论】:
-
您是否意识到
loadtxt可以预先为一行分配内存但不能为一列分配内存?所以它所能做的最好的就是以 C 顺序读取数组,然后将其转换为 F 顺序。
标签: python arrays numpy memory