Python"数组索引太多"

Far*_*ved 5 python numpy

我正在使用pandas在python中读取一个文件,然后将其保存在一个numpy数组中.该文件的尺寸为11303402行×10列.我需要拆分数据以进行交叉验证,为此我将数据切成11303402行x 9列示例和1个11303402行x 1列标签.以下是代码:

tdata=pd.read_csv('train.csv')
tdata.columns='Arrival_Time','Creation_Time','x','y','z','User','Model','Device','sensor','gt']

User_Data = np.array(tdata)
features = User_Data[:,0:9]
labels = User_Data[:,9:10]
Run Code Online (Sandbox Code Playgroud)

该错误来自以下代码:

classes=np.unique(labels)
idx=labels==classes[0]
Yt=labels[idx]
Xt=features[idx,:]
Run Code Online (Sandbox Code Playgroud)

在线上:

Xt=features[idx,:]
Run Code Online (Sandbox Code Playgroud)

它说"阵列的索引太多了"

所有3个数据集的形状为:

print np.shape(tdata) = (11303402, 10)
print np.shape(features) = (11303402, 9)
print np.shape(labels) = (11303402, 1)
Run Code Online (Sandbox Code Playgroud)

如果有人知道这个问题,请帮助.

Kei*_*ing 6

问题是idx形状,(11303402,1)因为逻辑比较返回一个形状相同的数组labels.这两个维度使用了所有索引features.快速的解决方法是

Xt=features[idx[:,0],:]
Run Code Online (Sandbox Code Playgroud)