[英]Python “Too many indices for array”
我正在使用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]
該錯誤來自以下代碼:
classes=np.unique(labels)
idx=labels==classes[0]
Yt=labels[idx]
Xt=features[idx,:]
在線上:
Xt=features[idx,:]
它說“陣列的索引太多了”
所有3個數據集的形狀為:
print np.shape(tdata) = (11303402, 10)
print np.shape(features) = (11303402, 9)
print np.shape(labels) = (11303402, 1)
如果有人知道這個問題,請幫助。
問題是idx
有形狀(11303402,1)
因為邏輯比較返回一個與labels
形狀相同的數組。 這兩個維度使用的所有索引的features
。 快速的解決方法是
Xt=features[idx[:,0],:]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.