je commence =E0 utiliser numpy et j'ai un peu de mal avec la
manipulation des array
ce que je voudrais faire c'est des op=E9rations de "base" sur des
tableaux 2D et 3D c'est =E0 dire:
- ajouter/supprimer une ligne
- passer d'un tableau 2D =E0 un tableau 3D et inversement (c'est =E0 dire
ajouter ou supprimer une colonne)
pour le moment j'ai cr=E9=E9 un tableau vide, =E7a pas de probl=E8me
tab =3D numpy.zeros((0,2))
ajouter des valeurs, l=E0 =E7a se complique pour le moment je fait =E7a
lg =3D len(tab)
tab =3D numpy.resize(tab,(lg+1,2)
tab[lg] =3D (1.2,36) #par exemple
et pour le reste je suis un peu larguer
bref si qqn peut m'aider =E7a m'aiderai beaucoup
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jerome
Sébastien Ramage wrote:
bonjour à tous,
bonjour
je commence à utiliser numpy et j'ai un peu de mal avec la manipulation des array
ce que je voudrais faire c'est des opérations de "base" sur des tableaux 2D et 3D c'est à dire: - ajouter/supprimer une ligne - passer d'un tableau 2D à un tableau 3D et inversement (c'est à dire ajouter ou supprimer une colonne)
pour le moment j'ai créé un tableau vide, ça pas de problème tab = numpy.zeros((0,2))
qu'est-ce que tu appelles un tableau vide ?
Ca me semble bizarre de faire un tableau à 2 dimensions donc une qui est nulle.
Je ferais plutôt tab = numpy.array([]) si c'est vraiment un de tes besoins.
ajouter des valeurs, là ça se complique pour le moment je fait ça lg = len(tab)
la "taille" d'un tableau est accessible avec l'attribut shape des array
sh = tab.shape
elle renvoit un tuple avec les différentes dimensions. Parler de lignes/colonnes est à mon avis le meilleur moyen de se tromper, surtout si tu envisages de modifier la "shape" du tableau.
tab = numpy.resize(tab,(lg+1,2) tab[lg] = (1.2,36) #par exemple
Si tu fais des choses comme resize(tab, (1,2)) resize(tab, (2,2)) resize(tab, (3,2))
tu peux redimensionner tes tableaux suivant n'importe quelle dimension sans problème. Numpy va remplir les nouvelles dimensions avec les valeurs déjà présentes
et pour le reste je suis un peu larguer bref si qqn peut m'aider ça m'aiderai beaucoup
Sébastien Ramage wrote:
bonjour à tous,
bonjour
je commence à utiliser numpy et j'ai un peu de mal avec la
manipulation des array
ce que je voudrais faire c'est des opérations de "base" sur des
tableaux 2D et 3D c'est à dire:
- ajouter/supprimer une ligne
- passer d'un tableau 2D à un tableau 3D et inversement (c'est à dire
ajouter ou supprimer une colonne)
pour le moment j'ai créé un tableau vide, ça pas de problème
tab = numpy.zeros((0,2))
qu'est-ce que tu appelles un tableau vide ?
Ca me semble bizarre de faire un tableau à 2 dimensions donc une qui est
nulle.
Je ferais plutôt tab = numpy.array([]) si c'est vraiment un de tes besoins.
ajouter des valeurs, là ça se complique pour le moment je fait ça
lg = len(tab)
la "taille" d'un tableau est accessible avec l'attribut shape des array
sh = tab.shape
elle renvoit un tuple avec les différentes dimensions. Parler de
lignes/colonnes est à mon avis le meilleur moyen de se tromper, surtout
si tu envisages de modifier la "shape" du tableau.
tab = numpy.resize(tab,(lg+1,2)
tab[lg] = (1.2,36) #par exemple
Si tu fais des choses comme
resize(tab, (1,2))
resize(tab, (2,2))
resize(tab, (3,2))
tu peux redimensionner tes tableaux suivant n'importe quelle dimension
sans problème. Numpy va remplir les nouvelles dimensions avec les
valeurs déjà présentes
et pour le reste je suis un peu larguer
bref si qqn peut m'aider ça m'aiderai beaucoup
je commence à utiliser numpy et j'ai un peu de mal avec la manipulation des array
ce que je voudrais faire c'est des opérations de "base" sur des tableaux 2D et 3D c'est à dire: - ajouter/supprimer une ligne - passer d'un tableau 2D à un tableau 3D et inversement (c'est à dire ajouter ou supprimer une colonne)
pour le moment j'ai créé un tableau vide, ça pas de problème tab = numpy.zeros((0,2))
qu'est-ce que tu appelles un tableau vide ?
Ca me semble bizarre de faire un tableau à 2 dimensions donc une qui est nulle.
Je ferais plutôt tab = numpy.array([]) si c'est vraiment un de tes besoins.
ajouter des valeurs, là ça se complique pour le moment je fait ça lg = len(tab)
la "taille" d'un tableau est accessible avec l'attribut shape des array
sh = tab.shape
elle renvoit un tuple avec les différentes dimensions. Parler de lignes/colonnes est à mon avis le meilleur moyen de se tromper, surtout si tu envisages de modifier la "shape" du tableau.
tab = numpy.resize(tab,(lg+1,2) tab[lg] = (1.2,36) #par exemple
Si tu fais des choses comme resize(tab, (1,2)) resize(tab, (2,2)) resize(tab, (3,2))
tu peux redimensionner tes tableaux suivant n'importe quelle dimension sans problème. Numpy va remplir les nouvelles dimensions avec les valeurs déjà présentes
et pour le reste je suis un peu larguer bref si qqn peut m'aider ça m'aiderai beaucoup
Sébastien Ramage
Si tu fais des choses comme resize(tab, (1,2)) resize(tab, (2,2)) resize(tab, (3,2))
tu peux redimensionner tes tableaux suivant n'importe quelle dimension sans problème. Numpy va remplir les nouvelles dimensions avec les valeurs déjà présentes
jusque là je suis d'accord mais comment faire pour ajouter une "colonne" c'est à dire pour avoir un shape de (3,3) en remplissant la colonne avec des 0 exemple j'ai le tableau suivant
tab array([[0, 1],
[2, 3], [4, 5], [6, 7], [8, 9]])
si je fait :
resize(tab,(5,3)) array([[0, 1, 2],
[3, 4, 5], [6, 7, 8], [9, 0, 1], [2, 3, 4]])
alors que moi je voudrais obtenir : array([[0, 1, 0], [2, 3 , 0], [4, 5 , 0], [6, 7, 0], [8, 9, 0]])
là je me rapproche de ce que je voudrais sauf que les valeurs ne sont pas à 0
comment faire???
Si tu fais des choses comme
resize(tab, (1,2))
resize(tab, (2,2))
resize(tab, (3,2))
tu peux redimensionner tes tableaux suivant n'importe quelle dimension
sans problème. Numpy va remplir les nouvelles dimensions avec les
valeurs déjà présentes
jusque là je suis d'accord mais comment faire pour ajouter une
"colonne" c'est à dire pour avoir un shape de (3,3) en remplissant la
colonne avec des 0
exemple j'ai le tableau suivant
tab
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
si je fait :
resize(tab,(5,3))
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[9, 0, 1],
[2, 3, 4]])
alors que moi je voudrais obtenir :
array([[0, 1, 0],
[2, 3 , 0],
[4, 5 , 0],
[6, 7, 0],
[8, 9, 0]])
Si tu fais des choses comme resize(tab, (1,2)) resize(tab, (2,2)) resize(tab, (3,2))
tu peux redimensionner tes tableaux suivant n'importe quelle dimension sans problème. Numpy va remplir les nouvelles dimensions avec les valeurs déjà présentes
jusque là je suis d'accord mais comment faire pour ajouter une "colonne" c'est à dire pour avoir un shape de (3,3) en remplissant la colonne avec des 0 exemple j'ai le tableau suivant
tab array([[0, 1],
[2, 3], [4, 5], [6, 7], [8, 9]])
si je fait :
resize(tab,(5,3)) array([[0, 1, 2],
[3, 4, 5], [6, 7, 8], [9, 0, 1], [2, 3, 4]])
alors que moi je voudrais obtenir : array([[0, 1, 0], [2, 3 , 0], [4, 5 , 0], [6, 7, 0], [8, 9, 0]])
Je te conseille de bien regarder le didacticiel, personnellement, je
n'avais pas capté toute les astuces à la première lecture :
http://www.scipy.org/Tentative_NumPy_Tutorial
Je te conseille de bien regarder le didacticiel, personnellement, je n'avais pas capté toute les astuces à la première lecture :http://w ww.scipy.org/Tentative_NumPy_Tutorial
-- Elby
je vais relire le tutorial effectivement , c_[] et r_[] m'avait échapper merci pour l'astuce
On 18 avr, 20:08, Elby <loic.ber...@free.fr> wrote:
comment faire???
le plus simple est d'utiliser c_[] ou r_[] pour combiner ton array avec u n vecteur nul :
from numpy import *
tab = arange(10).reshape((5, -1))
tab
Je te conseille de bien regarder le didacticiel, personnellement, je
n'avais pas capté toute les astuces à la première lecture :http://w ww.scipy.org/Tentative_NumPy_Tutorial
--
Elby
je vais relire le tutorial effectivement , c_[] et r_[] m'avait
échapper
merci pour l'astuce
Je te conseille de bien regarder le didacticiel, personnellement, je n'avais pas capté toute les astuces à la première lecture :http://w ww.scipy.org/Tentative_NumPy_Tutorial
-- Elby
je vais relire le tutorial effectivement , c_[] et r_[] m'avait échapper merci pour l'astuce
Jerome
fred wrote:
Bonsoir,
[snip]
Si tu fais des choses comme resize(tab, (1,2)) resize(tab, (2,2)) resize(tab, (3,2)) Quelle différence avec reshape ?
reshape impose de conserver le même nombre d'éléments dans le tableau
fred wrote:
Bonsoir,
[snip]
Si tu fais des choses comme
resize(tab, (1,2))
resize(tab, (2,2))
resize(tab, (3,2))
Quelle différence avec reshape ?
reshape impose de conserver le même nombre d'éléments dans le tableau