es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear un np.array lleno de matrices de ceros.

Estoy intentando inicializar un array “vacío” con cada elemento que contenga un array de t_list, un array de np.zeros de 8×8:

t_list = np.zeros((8,8), dtype=np.float32)

Ahora quisiera tener un np.array con múltiples t_list en cada índice:

result = np.array((t_list, t_list, ...., tlist))

Me gustaría poder controlar el número de veces que t_list está en result.

Sé que podría usar listas en lugar de arrays. El problema es que lo coloqué en una función numba njit por lo que necesito especificarlo todo.

El objetivo es luego cambiar cada valor en un doble bucle for.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para inicializar un arreglo “vacío” con cada elemento que contiene t_list, se puede usar el siguiente código:

    result = np.empty((num, 8, 8), dtype=np.float32)
    for i in range(num):
        result[i] = t_list.copy()
    

    Aquí, num es el número de veces que t_list debe repetirse en result. La función np.empty se utiliza para crear el arreglo vacío con la forma deseada, y luego cada elemento se rellena con t_list mediante un bucle que recorre los índices y copia t_list en ellos.

    Para cambiar cada valor en un doble bucle, se puede usar el siguiente código:

    for i in range(num):
        for j in range(8):
            for k in range(8):
                result[i,j,k] = some_function(result[i,j,k])
    

    Aquí, some_function es la función que actúa sobre cada valor en el arreglo. El bucle itera sobre cada índice del arreglo, y some_function se aplica al valor en ese índice.

Comments are closed.