将int数分配给数组

时间:2016-06-23 10:00:05

标签: arrays python-2.7 numpy

我想将int分配给一个数组。我拥有的是什么;

label = ['rest', 'rest', 'ball', 'cat', 'rest']

我希望得到像这样的东西,int顺序并不重要;

labeled = [1, 1, 2, 3, 1]

我是怎么做的,我找到了np.unique(标签)并制作了dict:

labelDict = dict(zip(label, np.arange(1,4))

但是,我坚持下一步是将此整数分配给该数组标签。

1 个答案:

答案 0 :(得分:0)

您可以创建一个映射字典,类似于您现在所做的:

    int k=0;
    int j=0;
    for(int i=0; i<10; i++)//for merging both
    {
        if((i+1)%2==0)
        {
            str1[i]=String.valueOf(num[k]);
             System.out.println("The String are "+str1[i]);
            k++;
        }
        else
        {
            str1[i]=str[j];
             System.out.println("The String are "+str1[i]);
            j++;
        }
    }

然后,使用映射重新映射标签:

mapping = {i:idx for idx, i in enumerate(set(label))}

不需要numpy,使用基本Pyhton可以轻松完成任务。