我有3个numpy数组,我想成为3x3
的形状我试过
x = numpy.arange(0, 19, 1)
y = numpy.arange(1960, 2017, 1)
z = numpy.arange(0, 1027, 1)
3D_array = numpy.array([x, y, z])
我希望能将这个数组索引为:
3D_array[0][0][0]
返回x中0索引的位置,y中的0索引和z中的0索引, 但形状实际上是(3,)所以当我尝试索引如上时,我得到错误IndexError:标量变量无效索引。并且我可以看到第一个切片显示所有xs,第二个索引是x数组中的位置,最后一个是超出范围。
我怎样才能按照自己的意愿塑造这个ndarray?
答案 0 :(得分:1)
这不是您问题的直接答案,而是基于您的评论的建议。您可能会发现使用pandas
进行此类电子表格式索引更为舒适。然后,您可以为索引命名并使用更自然的索引。
例如,以您的用例为基础:
>>> import pandas as pd
>>> df = pd.DataFrame.from_records([['Canada', 1985, 3.2],
['Iceland', 1985, 1.5],
['Canada', 1995, 3.8],
['Iceland', 1995, 2.5]],
columns=['Country', 'Year', 'Data'],
index=['Country', 'Year'])
>>> df.loc['Canada', 1985]
Data 3.2
Name: (Canada, 1985), dtype: float64