Python - np.append Añadir elementos a un array.

 
Vista:
Imágen de perfil de Zhisi

np.append Añadir elementos a un array.

Publicado por Zhisi (21 intervenciones) el 10/01/2017 10:10:20
Muy buenas.

Estoy con un código en el que creo un array vacío y a continuación le voy añadiendo elementos de forma iterativa. El código de interés es el siguiente:
1
2
3
4
5
6
7
R2p = np.array([],dtype=float)
paux = 2
while paux < (2*pfft):
                #­ Calculamos valores de R2(p) y los almacenamos en el R2p.               
                R2p = np.append(R2p,R2calc)
                # Incrementamos paux en una unidad.            
                paux = paux + 1
R2calc simplemente es una función que devuelve un número.

Según la información y ejemplos que tengo de la función np.append(arr, values) para añadir elementos a R2p simplemente tendría que escribir np.append(R2p,R2calc). Es decir, pasar como argumentos el array en el que quiero escribir el nuevo dato y el dato en cuestión.
Sin embargo para que se añadan los elementos tengo que ponerlo como en el código mostrado antes, es decir:
1
R2p = np.append(R2p,R2calc)

¿Por qué es necesario poner la igualdad?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

np.append Añadir elementos a un array.

Publicado por xve (1646 intervenciones) el 10/01/2017 16:39:19
Hola Zhisi, exactamente que es "np"... yo para gestionar listas nunca lo utilizo...

1
2
R2p=[]
R2p.append("casa")

De esta manera añade casa a la lista R2p.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Zhisi

np.append Añadir elementos a un array.

Publicado por Zhisi (21 intervenciones) el 11/01/2017 08:43:17
Perdona, es la librería numpy que la importo como np.
1
import numpy as np

Haciéndolo como indicas (sin numpy) funciona a la perfección, pero desconocía esta posibilidad. Haciéndolo con numpy no funciona.

A continuación copio lo que me muestra el inspector de elementos. Como se indica la función devuelve un array (¿por eso hay que asignar a R2p el valor que devuelve la función?) pero en los ejemplo que se muestran al final no se hace así.


Definition : append(arr, values, axis=None)

Type : Function of numpy.lib.function_base module

Append values to the end of an array.

Parameters

arr : array_like
Values are appended to a copy of this array.
values : array_like
These values are appended to a copy of arr. It must be of the correct shape (the same shape as arr, excluding axis). If axis is not specified, values can be any shape and will be flattened before use.
axis : int, optional
The axis along which values are appended. If axis is not given, both arr and values are flattened before use.
Returns

append : ndarray
A copy of arr with values appended to axis. Note that append does not occur in-place: a new array is allocated and filled. If axis is None, out is a flattened array.
See Also

insert : Insert elements into an array. delete : Delete elements from an array.

Examples

>>>
>>> np.append([1, 2, 3], [[4, 5, 6], [7, 8, 9]])
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
When axis is specified, values must have the correct shape.

>>>
>>> np.append([[1, 2, 3], [4, 5, 6]], [[7, 8, 9]], axis=0)
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> np.append([[1, 2, 3], [4, 5, 6]], [7, 8, 9], axis=0)
Traceback (most recent call last):
...
ValueError: arrays must have same number of dimensions
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar