Python 索引numpy数组

Python 索引numpy数组,python,numpy,Python,Numpy,我正在尝试执行pairs引导,在为引导示例编制索引时遇到了一些问题。我将展示一段与我面临的问题相匹配的简短代码。我应该如何索引样本以获取引导样本 以下是数据: Y = [1,4,2,5,3,2,4,6] X = [1,2,3,4,3,1,5,2] 首先,我创建索引: ind = np.arange(len(X)) ind_b = np.random.choice(ind, len(ind)) 其次,我对索引执行引导: ind = np.arange(len(X)) ind_b = np.

我正在尝试执行pairs引导,在为引导示例编制索引时遇到了一些问题。我将展示一段与我面临的问题相匹配的简短代码。我应该如何索引样本以获取引导样本

以下是数据:

Y = [1,4,2,5,3,2,4,6]
X = [1,2,3,4,3,1,5,2]
首先,我创建索引:

ind = np.arange(len(X))
ind_b = np.random.choice(ind, len(ind))
其次,我对索引执行引导:

ind = np.arange(len(X))
ind_b = np.random.choice(ind, len(ind))
最后,我尝试使用引导索引过滤这两个变量:

Y_b = Y[ind_b] 
X_b = X[ind_b]
执行此操作时,我会收到一条错误消息:

TypeError:只能将整数标量数组转换为标量索引


有人能解释一下我是如何正确操作的吗?

问题是在这种情况下,
X
Y
只是Python的
列表。如果要执行
键入(Y)
操作,您将得到
列表
。由于您使用
np.array
索引到列表中,Python不知道这是什么,因此会抛出错误,因为您在
列表上执行无效操作。相反,您还需要
X
Y
成为类型
np.array

>>> ind_b
array([6, 2, 7, 4, 0, 5, 7, 0])
>>> np.array(Y)[ind_b]
array([4, 2, 6, 3, 1, 2, 6, 1])
>>> Y = np.array(Y)
>>> X = np.array(X)
>>> Y_b = Y[ind_b]
>>> Y_b
array([4, 2, 6, 3, 1, 2, 6, 1])
>>> X_b = X[ind_b]
>>> X_b
array([5, 3, 2, 3, 1, 1, 2, 1])
一个快速解决方法是更改它,以便分配:

Y = np.array([1,4,2,5,3,2,4,6])
X = np.array([1,2,3,4,3,1,5,2])

Y
X
只是一个Python
列表
,它们不知道如何基于
np.array
进行索引。您可以改为更改
Y=np.array(Y)
,然后您就可以这样索引了,非常感谢。它工作得很好。非常好+感谢您的时间和帮助。它工作得很好。