【发布时间】:2019-08-22 15:03:33
【问题描述】:
我将坐标分组。所有组必须单独存储。首先,我将它们存储在列表中的列表中,如下所示:
PointOne: numpy.array([x, y, z])
GroupOne: numpy.array([PointOne, PointTwo ... PointLast])
All Points : [GroupOne, GroupTwo, GroupThree]
我觉得我的方法有点错误,并且 numpy 有能力将它们全部存储为单独的。我可以将一列设置为组号,但这很愚蠢。
在整个过程中,我想存储我的坐标,如 NetCDF、HDF5 等。你知道有维度(它们称为变量),如传播、温度等。所以你可以将温度变量(维度)中的值存储为 3D 和 4D 数组.但是它们是分开的,所以用户可以像这样访问它们:
readed_netcdf.temperate[5,2]
在 numpy 世界中我该如何做到这一点?
顺便说一句,我希望它遵循最佳方法,并且在未来我将使用 numba 来计算具有出色性能的所有内容。
numpy 版本:1.16.2
【问题讨论】:
-
取决于您要对坐标执行的操作。您是否尝试将数据存储在 NetCDF 中?
-
@Istwan 不,我不想存储 netcdf。我说 netcdf 是因为它是维度方法。您可以在 netcdf 中的一个坐标处存储多个值。他们像我上面所说的那样调用变量。这就是我想将我的坐标作为维度存储在 numpy 数组中。
-
您的问题不清楚。
numpyndarray在纯数组意义上是多维的 - 它有一个shape(n,m,p,...)(0d 到 32d),并且可以像[i,j,k...]这样被索引。但是索引严格按计数,0,1,2,.... 它不会将比例附加到任何维度(如 NetCDF 的lat或long比例)。您当然可以制作这样的一维数组,并使用您自己的代码来协调比例数组和数据数组。 -
在
h5py术语中您询问dimension scales。 docs.h5py.org/en/stable/high/dims.html。可以将比例附加到dataset的dims属性,“但维度比例只是另一个 HDF5 数据集。”您可以将这些标尺下载到您的numpy会话中,但维护dims之类的数据阵列与其标尺之间的链接是您的责任。没有numpy机制可以为您做到这一点。 -
@hpaulj 我不确定尺寸比例是否与我所说的相同,但您明白了。我想将我的数据扩展到另一个维度。 Numpy 或 pandas 有行和列。我想维护行和列并为相同的 index 添加更多数据。所以这是我问题的维度。正如你所说,numpy 没有机制。那么你能告诉我可以遵循什么样的方法吗?
标签: python numpy multidimensional-array