【问题标题】:how to get multiple column from python numpy array如何从python numpy数组中获取多列
【发布时间】:2014-07-21 21:15:21
【问题描述】:

我有一个 numpy 数组作为“数据”。我想检索除第 6 个字段之外的所有字段。目前我正在使用以下代码:

x = data[:,[0,1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17]]  

这是解决目的,但我觉得这不是正确的方法。

我尝试了许多其他方法,例如:

   x = data[:, [:,6 and 7,:]],  
   x = data[:, [:,6 or 7,:]], etc  

但似乎没有任何效果。

我还检查了其他几个地方,但找不到任何解决方案。 请提出一些简单的方法。

【问题讨论】:

    标签: python numpy multiple-columns


    【解决方案1】:

    numpy.delete 函数返回一个新数组,其中删除了指定的列,沿您想要的任何轴。以下内容等同于您在上面发布的第一条语句:

    x = numpy.delete(data, 6, axis=1)
    

    【讨论】:

      【解决方案2】:

      对于更一般的答案(如果您需要丢弃几列):

      import numpy
      x =  numpy.array(data)[:,range(0,6)+range(7,18)]
      

      【讨论】:

        【解决方案3】:

        这个怎么样:

        cols = range(0, 18)
        cols.remove(6)
        x = data[:, cols]
        

        【讨论】:

          【解决方案4】:

          另一种方法是:(使用列表理解)

          x = data[:,[index for index in range(18) if index not in [6]]]
          

          通过添加更多值也很容易扩展。

          【讨论】:

            猜你喜欢
            • 2019-02-08
            • 2018-05-15
            • 1970-01-01
            • 1970-01-01
            • 2023-03-18
            • 2019-09-23
            • 2019-11-07
            • 1970-01-01
            • 2011-08-19
            相关资源
            最近更新 更多