0
votes

Ne peut pas aplatir le tableau avec NUMPY

J'ai une sortie comme suit: xxx

une liste de 3 tableaux. Je dois aplatir le tableau. Cela devrait être simple comme data.flaTEN ("F") Mais cela ne fonctionne pas

La sortie doit contenir le premier élément de chaque matrice, puis le second et ainsi de suite.

quelque chose comme: 1,14112001,0.094112164, 1.85090352 et ainsi de suite. Comment puis-je faire cette

mise à jour:

la sortie que je reçois avec le code donné comme suit xxx


12 commentaires

Les tableaux n'ont pas la même taille


Ce n'est pas clair pour moi dans quel modèle vous voulez concaténer les indices. Veuillez ajouter plus d'étapes dans votre exemple ou essayez de le généraliser officiellement.


@Danielmesejo oui, en effet. C'est le problème. J'ai besoin de les ajouter ensemble. La seule façon de faire en aplatir le tableau, puis ajoutez tous les 3 éléments


Aussi dans votre sortie, vous sautez 0.08347845? Pourquoi? Veuillez ajouter une sortie complète.


"Mais cela ne fonctionne pas ..." Veuillez donner plus de détails que cela. Si le code que vous avez montré est exactement ce que vous avez essayé, vous avez une erreur. Inclure la traçabilité complète (c'est-à-dire le message d'erreur complet) dans la question.


Vous dites que vous avez essayé data.flaTEN ("F") . Mais Data est une liste Python, pas un tableau NUMPY. Les listes Python ne disposent pas de la méthode .


Je l'ai converti en une matrice numpie


Est-ce que vous cherchez à obtenir quelque chose comme ceci: [1.0, 1,14112001, 0,7205845, 1,41211849, 0,46342708, 1,65028784, 0,24901275, 1,83665564, 0,09442164, 1,95637593, 0,01196838, 1,99991186, 0,00822115, 1,96379539, 0,08347845, 1,85090352, 0,23174534, 1,67022918, 0,44121095 , 1.43616476] ? Si oui peut-être peut-être: [num pour long_list dans les données pour num dans long_list] ?


Il sera plus facile pour quelqu'un de vous aider si vous fournissez un exemple minimal, complet et vérifiable .


np.hstack (ARR) devrait fonctionner. Vous avez un tableau de tableaux, de sorte que l'habituel remodele et aplatit ne fonctionne pas. htstack ou concaténate Traitez-le comme une liste ou une séquence de tableaux.


Non que je puisse également obtenir avec liste (chaîne (* données)) . Je dois faire un tableau où le premier élément de chaque matrice en est l'une après l'autre, puis le 2e élément, etc.


Que se passe-t-il avec le tableau avec moins d'éléments?


3 Réponses :


1
votes
[1.0, 1.83665564, 0.08347845, 1.14112001, 0.09442164, 1.85090352, 0.7205845, 1.95637593, 0.23174534, 1.41211849, 0.01196838, 1.67022918, 0.46342708, 1.99991186, 0.44121095, 1.65028784, 0.00822115, 1.43616476, 0.24901275, 1.96379539]

0 commentaires

1
votes

Je ne sais pas si la meilleure solution, mais vous pouvez utiliser np.Resize pour remodeler tous les tableaux sur la même longueur et les empiler verticalement. Ensuite, utilisez .t pour les aplatir la colonne basée sur la colonne et utilisez un masque pour exclure les valeurs créées par np.Resize : xxx


0 commentaires

1
votes

Utilisez itheroTools.zip_longest pour obtenir des éléments dans des tableaux de longueur différente dans l'ordre (voir Ce message ) puis utilisez la compréhension de la liste pour aplatir les tuples résultants.

dans Python 2, nous devrions utiliser iteroTool.izip_longest. xxx


0 commentaires