试图用整数值替换数组中的字符串

时间:2019-03-11 16:27:01

标签: python

我是一个初学者,我正在尝试用整数值替换数组中的字符串,这是这段代码:

for i in Data:
if (Data[i,4] == "STANDING"):
        Data[i,4] = 1
    else:
        Data[i,4] = 0
    i+=1

这是错误:

  

回溯(最近通话最近一次):文件“ D:/ MIU / 4thyear / Graduation
  Project / Graduation / SVM.py”,第19行,在
中   if (Data[i,4] == "STANDING"): IndexError: arrays used as indices must be of integer (or boolean) type

我该怎么办?

3 个答案:

答案 0 :(得分:0)

不要在for循环中增加变量。

答案 1 :(得分:0)

错误 IndexError: arrays used as indices must be of integer (or boolean) type 表示您正在尝试使用字符串作为迭代器,而不是整数。我将查看Data内的值以确保它们是整数。如果它们是数字字符串(例如“ 1”,“ 2”,“ 3”等),则只需将它们转换为整数即可。

Data = list(map(int, Data))

答案 2 :(得分:0)

如果要进行快速测试,可以使用此简单循环进行。

    Data = ["here", "prueba", "STANDING"]
    for i in range(0,len(Data)):
        if(Data[i] == "STANDING"):
            Data[i] = 1
        else:
            Data[i] = 0
        i = i + 1