L'ajout d'enregistrements à un numpy tableau d'enregistrements
Disons que je définir un tableau d'enregistrements
>>> y=np.zeros(4,dtype=('a4,int32,float64'))
puis-je procéder pour remplir les 4 enregistrements disponibles. Maintenant je obtenir plus de données, quelque chose comme
>>> c=('a',7,'24.5')
et je veux ajouter ce dossier à y
. Je ne peux pas trouver un moyen propre à le faire. Le meilleur que j'ai vu dans np.concatenate()
, mais qui nécessitent de tourner c
dans un tableau d'enregistrements dans et de lui-même. Est-il un moyen simple de virer de mon tuple c
sur y
? Cela semble être qu'il doit être vraiment simple et largement documenté. Toutes mes excuses si il est. Je n'ai pas été capable de le trouver.
OriginalL'auteur bob.sacamento | 2013-04-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
numpy.append()
, mais comme vous avez besoin de convertir des nouvelles données dans un tableau d'enregistrements aussi:Depuis ndarray ne peut pas dynamique de changement, il est de taille, vous avez besoin de copier toutes les données lorsque vous souhaitez ajouter de nouvelles données. Vous pouvez créer une classe qui permettent de réduire la redimensionner fréquence:
OriginalL'auteur HYRY
C'est parce que la concaténation de tableaux numpy est généralement évitée car elle nécessite la réallocation de mémoire contiguë de l'espace. La taille de votre tableau avec la pièce de rechange, et puis concaténer en gros morceaux si nécessaire. Ce post peut être d'une certaine aide.
OriginalL'auteur Paul