为什么使用 np.ix_ 会出现交叉索引错误
Why getting Cross index error using np.ix_
为什么在使用 np.ix_
时会出现此错误?
import numpy as np
a = np.arange(1,3).reshape(1,2)
print(a)
k_r = [[1,1],[1,-1]]
r = np.zeros((10,10),int)
r[np.ix_([a],[a])]= k_r
print(r)
错误:
ValueError: Cross index must be 1 dimensional
我想我理解了这个问题。
首先,您应该像这样删除 a 周围的“[]”
r[np.ix_(a,a)]= k_r
似乎 np.ix_(a, a) 想要 a 格式:a = [x, x] 其中 x 是。
您当前的 a 格式为:[[1 2]]
创建 a 的另一种方法是:
a = [i for i in range(1,3)]
如果这不能解决您的问题,您可以查看此页面:https://numpy.org/doc/stable/reference/generated/numpy.ix_.html
错误告诉你交叉索引必须是一维的,但是a = np.arange(1,3).reshape(1,2)
创建了一个二维数组。此外,您通过将数组包装在列表中来添加另一个维度(有点,但不是真的),r[np.ix_([a],[a])]
.
解决这些问题,您将获得:
import numpy as np
a = np.arange(1,3)
print(a)
k_r = [[1,1],[1,-1]]
r = np.zeros((10,10),int)
r[np.ix_(a,a)]= k_r
print(r)
为什么在使用 np.ix_
时会出现此错误?
import numpy as np
a = np.arange(1,3).reshape(1,2)
print(a)
k_r = [[1,1],[1,-1]]
r = np.zeros((10,10),int)
r[np.ix_([a],[a])]= k_r
print(r)
错误:
ValueError: Cross index must be 1 dimensional
我想我理解了这个问题。 首先,您应该像这样删除 a 周围的“[]”
r[np.ix_(a,a)]= k_r
似乎 np.ix_(a, a) 想要 a 格式:a = [x, x] 其中 x 是。 您当前的 a 格式为:[[1 2]] 创建 a 的另一种方法是:
a = [i for i in range(1,3)]
如果这不能解决您的问题,您可以查看此页面:https://numpy.org/doc/stable/reference/generated/numpy.ix_.html
错误告诉你交叉索引必须是一维的,但是a = np.arange(1,3).reshape(1,2)
创建了一个二维数组。此外,您通过将数组包装在列表中来添加另一个维度(有点,但不是真的),r[np.ix_([a],[a])]
.
解决这些问题,您将获得:
import numpy as np
a = np.arange(1,3)
print(a)
k_r = [[1,1],[1,-1]]
r = np.zeros((10,10),int)
r[np.ix_(a,a)]= k_r
print(r)