【问题标题】:Numpy : convert labels into indexesNumpy:将标签转换为索引
【发布时间】:2018-10-12 06:28:09
【问题描述】:

是否可以使用numpy 将字符串向量转换为索引向量?

假设我有一个字符串数组,如['ABC', 'DEF', 'GHI', 'DEF', 'ABC'] 等。我希望将其更改为整数数组,如[0,1,2,1,0]。可以使用numpy吗?我知道Pandas 有一个Series 类可以做到这一点,感谢this answernumpy 也有类似的东西吗?

编辑: np.unique() 返回所有元素的唯一值。我要做的是将Iris dataset 中的标签转换为索引,例如Iris-setosa 为0,Iris-versicolor 为1,Iris-virginica 为2。有没有办法使用numpy 做到这一点?

【问题讨论】:

    标签: python pandas numpy classification data-science


    【解决方案1】:

    使用numpy.unique 和参数return_inverse=True,但处理NaNs 有区别 - 检查factorizing values

    L = ['ABC', 'DEF', 'GHI', 'DEF', 'ABC']
    
    print (np.unique(L, return_inverse=True)[1])
    [0 1 2 1 0]
    

    pandas factorize 也适用于列表或数组:

    print (pd.factorize(L)[0])
    [0 1 2 1 0]
    

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      相关资源
      最近更新 更多