Copie en profondeur d'une np.tableau de np.tableau

J'ai un tableau numpy des différents tableaux numpy et je veux faire une copie de tableaux. J'ai trouvé de la manière suivante:

import numpy as np

pairs = [(2, 3), (3, 4), (4, 5)]
array_of_arrays = np.array([np.arange(a*b).reshape(a,b) for (a, b) in pairs])

a = array_of_arrays[:] # Does not work
b = array_of_arrays[:][:] # Does not work
c = np.array(array_of_arrays, copy=True) # Does not work
d = np.array([np.array(x, copy=True) for x in array_of_arrays])

array_of_arrays[0][0,0] = 100
print a[0][0,0], b[0][0,0], c[0][0,0], d[0][0,0]

Est d la meilleure façon de le faire? Est-il une copie en profondeur de la fonction que j'ai manqué?
Et quelle est la meilleure façon d'interagir avec chaque élément de ce tableau de différentes tailles de tableaux?

Vous devriez vraiment développer sur le "ne fonctionne pas" lignes.

OriginalL'auteur Dominik Müller | 2016-06-02