代码之家  ›  专栏  ›  技术社区  ›  listener

基于置换的numy数组值替换

  •  1
  • listener  · 技术社区  · 6 年前

    我有一个很大的np数组叫做 0, 1, 2, 3 . 我想用下列数字的排列替换每个值(0、1、2、3): 0, 1, 2, 3, 4, 5 0, 1, 2, 3 可替换为以下内容:

      1, 5, 3, 4
      5, 2, 4, 3
      0, 5, 1, 4
    

    如何获取360个排列中的每个排列并替换中的32000个值 因此,最终我有360个版本的 每次排列?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mr. T Andres Pinzon    6 年前

    你可以试试这个方法 numpy.choose :

    import numpy as np
    x = np.array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3,]) 
    perm = [1, 5, 3, 4,]
    x = np.choose(x, perm)