【问题标题】:How to get a 3 dimensional array with the first two dimension named如何获得一个名为前两个维度的 3 维数组
【发布时间】:2020-02-19 17:03:30
【问题描述】:

我正在 Python 3 中使用 numpy 库。 我想要一个前二维命名的 3 维数组。

我创建了一个 3 维数组。 我想像这样访问数组

 my_3d_array["dim1_colnameX", "dim2_colnameX", 2:4]

我不知道这是否可能。

这是我所做的:

import numpy as np
my_3d_array = np.zeros((2, 3, 5))

my_dtype = np.dtype(XXXX)

my_3d_array= my_3d_array.dtype(my_dtype)

print(my_3d_array)

谢谢!

【问题讨论】:

  • 不完全一样,但也许你可以使用 'enum.IntEnum` 进行索引?
  • 你应该看看xarray.pydata.org/en/stable,它就像熊猫,但有更多的维度
  • 我没有想到枚举,也许我会这样做。或者也许是一个列表数组(添加第三个维度),但我认为你的想法更优雅。关于xarray,我认为它表明我所要求的是不可能的...... xarray 的不便之处在于代码是为python中的新人准备的。我已经向他们展示了 numpy 和 pandas,我认为他们不会喜欢第三个数组库。无论如何,非常感谢您的帮助。

标签: python arrays numpy multidimensional-array structured-array


【解决方案1】:

你希望你的输出是什么样子的?

您可以将数组转换为 pandas 数据框并命名列。

查看this,了解如何从 3d np.array 创建数据帧

之后,您可以像这样命名和重命名列:

#name
df.columns = ['column1', 'column2', 'column3']

#rename
df.rename(columns={'column1': 'dim1_colnameX'}, inplace=True)

您可以阅读此内容herehere

【讨论】:

  • 感谢您的帮助。这不正是我想要的。 Panda Dataframe 只有二维,我想要 3 维,这就是我选择 Numpy ndarray 的原因。
猜你喜欢
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多