je veux créer une matrice de taille 1234 * 5678 avec elle étant remplie de 1 à 5678 dans la rangée ordre majeur?> .. !!comment prendre une matrice en python?
Répondre
Here's a forum post qui a quelques exemples de code de ce que vous essayez d'atteindre.
Ou utilisez simplement Numerical Python si vous voulez faire des choses mathématiques sur la matrice aussi (comme la multiplication, ...). Si elles utilisent la commande principale de rangée pour la disposition de matrice en mémoire je ne peux pas vous dire mais il est couvert dans leur documentation
Vous pouvez corriger l'ordre interne en numpy. Par exemple, la fonction vide pour créer un tableau non peuplé a l'argument order ('C' vs 'F' pour C vs. Fortran). La disposition par défaut est l'ordre des lignes. –
Avec l'analyse matricielle, le problème ne se limite pas à la création de matrices, mais réside dans l'arithmétique matricielle et les interactions. Utilisez numpy/scipy, ça en vaut la peine. – dassouki
Je pense que vous devrez employer numpy pour tenir une matrice si grande efficacement, pas simplement le calcul. Vous avez ~ 5e6 éléments de 4/8 octets signifie déjà 20/40 Mb en C pur, plusieurs fois de cela en python sans une structure de données efficace (une liste de lignes, chaque ligne une liste).
Maintenant, concernant votre question:
import numpy as np
a = np.empty((1234, 5678), dtype=np.int)
a[:] = np.linspace(1, 5678, 5678)
Vous créez un tableau de la taille requise, avec le type int (je suppose que vous savez que vous voulez 4 octets entier, ce qui est ce que np.int vous donnera sur la plupart des plates-formes). La troisième ligne utilise la diffusion de sorte que chaque ligne (a [0], a [1], ... a [1233]) se voit affecter les valeurs de la ligne np.linspace (ce qui vous donne un tableau de [1, .. ..., 5678]). Si vous souhaitez que le stockage F, qui est la colonne principale:
a = np.empty((1234, 4567), dtype=np.int, order='F')
...
La matrice une volonté ne prend qu'une petite quantité de mémoire plus qu'un tableau en C, et pour le calcul au moins, les capacités d'indexation des tableaux sont beaucoup mieux que les listes Python. Un nitpick: numeric est le nom de l'ancien paquet numérique pour python - le nom recommandé est numpy.
- 1. Inverser Python d'une matrice
- 2. Matrice de Python Matlab
- 3. Que signifie matrice ** 2 en python/numpy?
- 4. Comment tronquer la matrice en utilisant NumPy (Python)
- 5. Convertir une matrice décimale en une matrice binaire dans SciPy
- 6. Comment copier une matrice?
- 7. Comment faire pour convertir une matrice 1-D en une matrice 2D
- 8. convertir une matrice de listes à une matrice
- 9. Matrice adressable symétriquement
- 10. Conversion d'une matrice de pixels en une image en C#
- 11. Conversion d'une matrice bidimensionnelle (nombres) en une matrice dimensionnelle et viceversa sur Java
- 12. Définir une matrice comme un tableau de tableaux et calculer sa matrice inverse en C++
- 13. Convertir tronc à une matrice de projection en Java 3d
- 14. Remplit une liste en python
- 15. comment prendre un fichier comme un objet dans un fichier en python
- 16. Comment rempoter une liste en Python
- 17. Comment définir une classe en Python
- 18. Comment créer une classe Python en C?
- 19. Comment copier une image distante en python?
- 20. Comment construire cette matrice php?
- 21. Créer une matrice tampon pour les mesures en continu
- 22. Comment tester si la matrice est diagonale?
- 23. Matrice statique ou matrice allouée dynamique
- 24. C#: Comment convertir une matrice d'octets BITMAP au format JPEG?
- 25. Reporting Services - Les pourcentages dans une matrice
- 26. tableaux multiples dans une matrice d'agrégat (LINQ)
- 27. Comment énumérer() sur une liste de tuples en Python?
- 28. Matrices en Python
- 29. Comment convertir toutes les clés d'une matrice multidimensionnelle en snake_case?
- 30. Comment créer une System.Windows.Media.ImageSource à partir d'une matrice d'octets?
Cela aura des performances médiocres pour une telle matrice de bits, cependant. Juste le créer prendra un peu de CPU et de mémoire. –