fvecs = []類型錯誤:列表索引必須是整數或片,而不是元組
for line in open(filename):
stats = line.split(',')
labels.append(int(stats[0]))
fvecs.append([float(x) for x in stats[5,6,12,27,29,37,39,41]])
我有一個很大的CSV文件。文件,我用作包含43列和數百行的數據集,我試圖提取特定的列作爲單獨的記錄,我似乎無法解決這個問題。該錯誤是由最後一行代碼引起的,並在標題中產生了錯誤消息,當範圍設置爲時,它可以很好地工作,例如stats [30:38]。
我已經嘗試將所需的列存儲在單獨的數組中,並將它稱爲stats [requiredcolumns],但這會產生相同的錯誤。
我已經考慮過使用熊貓,但這只是一個很大的程序中的一小部分代碼,所有功能都正確,並且大熊貓的實現需要對整個程序進行徹底檢修,這是由於時間原因而不可能實現的限制。
任何幫助,將不勝感激
'stats'只是一個列表,而不是一個Numpy數組。作爲一個列表,它不支持Numpy的高級索引功能。如果統計數據中的所有項都是數字,則可以在嘗試高級索引之前先將其轉換爲Numpy數組。即使如此,您用於索引的語法也不會像這樣工作。 – blubberdiblub
不幸的是,他們並不是所有的數字,所以你不認爲這將工作在目前的方式? –