Python 将某些列编译为新数组
假设我有一个2D numpy数组“x”,我想创建一个新数组“y”,其中只包含x中的某些列 有没有一个简单的解决办法 我试图编写一个函数,该函数遍历数组的每一列,然后每第三列追加一个新数组Python 将某些列编译为新数组,python,numpy,sorting,Python,Numpy,Sorting,假设我有一个2D numpy数组“x”,我想创建一个新数组“y”,其中只包含x中的某些列 有没有一个简单的解决办法 我试图编写一个函数,该函数遍历数组的每一列,然后每第三列追加一个新数组 def grab_功能(x,起始=0,每隔=3,行长=16): 将numpy作为np导入 作为pd进口熊猫 y=np.empty([rowlength,1]) 对于范围内的i(起始,np.尺寸(x,1),每个): y=np.追加(y,np.重塑(x[:,i],(行长,1)),轴=0) 返回y 我没有得到任何错
def grab_功能(x,起始=0,每隔=3,行长=16):
将numpy作为np导入
作为pd进口熊猫
y=np.empty([rowlength,1])
对于范围内的i(起始,np.尺寸(x,1),每个):
y=np.追加(y,np.重塑(x[:,i],(行长,1)),轴=0)
返回y
我没有得到任何错误,但是函数返回了一个长的一维浮点数数组。我希望数组的类型与x相同,只有1/3的列。您可以使用
I:j:k
的切片语法,其中I
是起始索引,j
是停止索引,k
是步长
import numpy as np
array = np.array([[1,2],
[3,4],
[5,6],
[7,8],
[9,10],
[11,12]])
print(array[::3])
[[1 2]
[7 8]]
如何选择某些列?您可以简单地修改数组