簡體   English   中英

Python“數組索引太多”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM