python copiar un arreglo numpy en unanuevadireccióndememoria

时间:2017-06-08 15:57:54

标签: python arrays numpy copy

resulta que tengo un arreglo de floats muy grande,3000 x 16 la variable que lo contiene se llama data_array,quiero quedarme con solo una columna del mismo:

distortions = data_array[:, 1]

el tema es que quiero convertir todos los elementos en enteros,peroelcódigo:

for element in distortions:
    element = int(element)

没有estáfuncionando。

Creo que se debe a que distortion es una variable que apunta a la segunda columna de data_array,es decir nolacopiónenunanuevadireccióndememoria y por lo tanto no puede transformar el tipo de una sola columna,ya que los elementos de un array de numpy deben ser todos del mismo tipo。 ¿Esasí?

Y siesasí,mipreguntaseríaentonces:¿cómocopioesa columna en unanuevadireccióndememoriaparadespuéspodertransformarlasegúnmisnecesidades?

Gracias totales。

露西亚。

1 个答案:

答案 0 :(得分:0)

使用astype转换整个数组或整个切片:

data_array[:, 1].astype(int)

Python循环:

for element in distortions:
    element = int(element)

不会更改distortions的元素; element = ...重新分配迭代变量,并且不对distoritions执行任何操作。