Python:" TypeError:list indices必须是整数,而不是元组"

时间:2016-02-27 09:36:31

标签: python numpy

我从interaction(cvar1, cvar2)文件中读取了一个数据集,该文件是一个二维数组  现在我想切片数据集并获取其中每个列表的第一个元素。

.csv

如果我跑:

import numpy as np

rawData = []
with open(path) as file:
    lines = csv.reader(file)
    for line in lines:
        rawData.append(line)

dataSet = rawData[0:10] # as the whole dataset is too large, I get the first ten rows to test
np.array(dataSet)
labels = dataSet[:,0]

我已提到How to slice a 2D Python Array。但是我仍然遇到这个错误。

2 个答案:

答案 0 :(得分:1)

行中的语法错误:labels = dataSet[:,0]

在你的代码中dataSet是一个python列表,你试图通过使用python元组,0来访问它的密钥;逗号在python中定义了一个元组。 您应该使用整数作为错误消息建议。

要解决此问题,请将dataSet转换为如下所示的numpy数组:numpy.array(dataSet)

答案 1 :(得分:0)

感谢@jonrsharpe。 np.array(dataSet)只是创建一个新的numpy数组,但我没有将它分配给dataSet。 它应该是

result = np.array(dataSet)