[Calcul scientifique / technique par Python] Fonctionnement de base du tableau, numpy

Les séquences sont indispensables dans les calculs scientifiques et techniques. Effectuez des opérations de base sur des tableaux à l'aide de numpy.

Contenu

(1) Création d'un tableau à partir de la "liste" (2) Affichage / récupération des éléments du tableau (3) Séquences "Ajouter" et "Concaténer" (4) Tri des éléments du tableau (5) "Quatre règles" de tableau (6) Application de fonctions aux éléments du tableau [Addendum] Différences par rapport au standard Python "(multiple) list"


(1) "Création d'un tableau à partir d'une liste

import numpy as np
"""
Créer un "tableau"
"""
a_list = [0,1,2,3,4,5] # a_Créer une liste nommée liste et élément 0, 1, 2, 3, 4,Magasin 5
a_array = np.array(a_list)  # a_Faire de la liste un "tableau"

print(a_array)

Résultat (1)

[0 1 2 3 4 5]


(2) Extraction d'éléments de tableau

(2)


a_list = [0,1,2,3,4,5] # a_Créer une liste nommée liste et élément 0, 1, 2, 3, 4,Magasin 5
a_array = np.array(a_list)  # a_Faire de la liste un "tableau"

print(a_array[0]) #Afficher l'élément zéro du tableau(Compter à partir de zéro)   # A
print(a_array[1])  # **N ° 1#B

print(a_array[-1]) #Comptez à l'arrière. De derrière-1, -2, ...C'est dans l'ordre.#C

print(a_array[1:3]) #Numéro d'élément 1(Le deuxième élément en partant de la gauche car il compte à partir de zéro)Ou créez un tableau jusqu'au troisième élément du tableau#D
print(a_array[2:])  #Numéro d'élément 2(Le troisième élément en partant de la gauche car il compte à partir de zéro)Créer un tableau contenant de à un avant le dernier élément#D
print(a_array[:4]) #Créer un tableau contenant les numéros d'élément 0 à 4e élément du tableau#F

Résultat (2)

0 #A 1 #B 5 #C [1 2] #D [2 3 4 5] #E [0 1 2 3] EF

(Remarque) Le dernier alphabet correspond à l'alphabet dans la ligne de sortie de la fonction d'impression dans le code ci-dessus.


(3) Séquences "Ajouter" et "Concaténer"

Soit np.append (tableau, élément).

exemple(3-1)



import numpy as np
a_list = [0,1,2,3,4,5] # a_Créer une liste nommée liste et élément 0, 1, 2, 3, 4,Magasin 5
a_array = np.array(a_list)  # a_Faire de la liste un "tableau"

a_array = np.append(a_array,10) #élément'10'Organiser un_Ajouter au tableau
print(a_array)

Résultat (3-1)

[ 0 1 2 3 4 5 10]

exemple(3-2)Concaténation de séquences


import numpy as np
a_list = [0,1,2,3,4,5] # a_Créer une liste nommée liste et élément 0, 1, 2, 3, 4,Magasin 5
a_array = np.array(a_list)  # a_la liste est "tableau" a_en faire un tableau

b_list=[200, 300, 400] #b_Créer une liste nommée liste et élément 200, 300,Magasin 400
b_array = np.array(b_list) #  b_la liste est "tableau" b_en faire un tableau

a_array = np.append(a_array, b_array) ##Array a_Tableau b dans le tableau_Concaténer le tableau
print(a_array)

Résultat (3-2)

[ 0 1 2 3 4 5 200 300 400]


(4) Tri des éléments du tableau

Utilisez sort pour obtenir un tableau (croissant) dans lequel les éléments du tableau sont classés du plus petit nombre au plus grand nombre. Utilisez les options trié et ** inverse ** pour trier dans l'ordre inverse (ordre décroissant) du tri.

(4)Trier


import numpy as np
c_list = [14, 90, 4, 23, 61, 110, 75]
c_array = np.array(c_list)

sorted1=np.sort(c_array) #Séquence c_Construisez un tableau nommé sorted1 avec des tableaux organisés par ordre croissant

sorted2=np.array(sorted(c_array, reverse=True)) #Séquence c_Construisez un tableau nommé sorted2 avec des tableaux classés par ordre décroissant

print(sorted1)
print(sorted2)

Résultat (4)

[ 4 14 23 61 75 90 110] [110 90 75 61 23 14 4]


(5) "Quatre règles" de tableau

import numpy as np
"""
"Quatre règles" de tableau
"""
D1_array=np.array([1, 2, 3])
D2_array=np.array([4, 5, 6])

print(D1_array+D2_array) #Ajouter= numpy.add(D1_array, D2_array) #A
print(D1_array-D2_array) #Soustraire= numpy.subtract(D1_array, D2_array)#B

print(D1_array*D2_array) #Multiplier= numpy.multiply(D1_array, D2_array) #C
print(D1_array/D2_array) #division= numpy.divide(D1_array, D2_array) #D

print(D1_array%D2_array) #Surplus= numpy.add(D1_array, D2_array) #E

print(D1_array**D2_array) #Puissance numpy.power(D1_array, D2_array) #F

Résultat (5):

[5 7 9] #A [-3 -3 -3] #B [ 4 10 18] #C [ 0.25 0.4 0.5 ] #D [1 2 3] #E [ 1 32 729] #F

(Remarque) L'alphabet à la fin de la liste correspond à l'alphabet sur la ligne de sortie de la fonction d'impression dans le code ci-dessus.


(6) Application de fonctions aux éléments du tableau

Exemple(6)Cartographie des fonctions


import numpy as np
"""
Appliquer la même fonction aux éléments du tableau
"""
D_array=np.array([1, 2, 3]) #Élément 1, 2,Tableau D avec 3_Construire un tableau

print(np.cos(D_array))  # D_Évaluer la valeur de la fonction cos avec tous les éléments du tableau comme arguments
print(np.sqrt(D_array)) #  D_Fonction Sqrt avec tous les éléments du tableau comme arguments(racine)Évaluer la valeur

Résultat (6)

[ 0.54030231 -0.41614684 -0.9899925 ] [ 1. 1.41421356 1.73205081]


Addendum: Différences entre le standard Python "(multiple) list" et le ndarray de numpy

Un [objet] appelé ndarray créé par numpy.array (list) (https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82% A7% E3% 82% AF% E3% 83% 88_ (% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3 En comparant% E3% 82% B0)) avec un objet liste par python, il présente les caractéristiques suivantes (Référence [1]). Le traitement des calculs peut être accéléré de 1 et 2. Cela est dû au fait que la surcharge pendant le calcul (temps requis pour l'accès mémoire / appel de fonction) est réduite. Voir la référence [1] pour plus de détails.

  1. Les données sont stockées dans une zone contiguë de la mémoire (similaire au langage C et aux tableaux Fortran)
  2. Construit avec des éléments qui ont fondamentalement la même structure de type
  3. Le nombre d'éléments dans chaque dimension doit être égal
  4. Peut effectuer des opérations spécifiques à grande vitesse sur (tous) les éléments d'un tableau

Les références

[1] Kenji Nakaku, "Introduction à Python pour les calculs scientifiques et technologiques", Revue technique, 2016.

Recommended Posts

[Calcul scientifique / technique par Python] Fonctionnement de base du tableau, numpy
[Calcul scientifique / technique par Python] Calcul du produit de la matrice par l'opérateur @, python3.5 ou supérieur, numpy
[Calcul scientifique / technique par Python] Intégration Monte Carlo, calcul numérique, numpy
[Calcul scientifique / technique par Python] Calcul de somme, calcul numérique
[Calcul scientifique / technique par Python] histogramme, visualisation, matplotlib
[Calcul scientifique / technique par Python] Interpolation de Lagrange, calcul numérique
[Calcul scientifique / technique par Python] Graphique logistique, visualisation, matplotlib
[Calcul scientifique / technique par Python] Graphique de coordonnées polaires, visualisation, matplotlib
[Calcul scientifique / technique par Python] Résolution de problèmes de valeurs propres (généralisés) en utilisant numpy / scipy, en utilisant des bibliothèques
[Calcul scientifique / technique par Python] Dessin d'animation de mouvement parabolique avec locus, matplotlib
[Calcul scientifique / technique par Python] Calcul numérique pour trouver la valeur de la dérivée (différentielle)
[Calcul scientifique / technique par Python] Solution analytique sympa pour résoudre des équations
[Calcul scientifique / technique par Python] Dessin de surface courbe 3D, surface, fil de fer, visualisation, matplotlib
[Calcul scientifique / technique par Python] Interpolation spline de troisième ordre, scipy
[Calcul scientifique / technique par Python] Tracé, visualisation, matplotlib de données 2D lues à partir d'un fichier
[Calcul scientifique / technique par Python] Dessin, visualisation, matplotlib de lignes de contour 2D (couleur), etc.
[Calcul scientifique / technique par Python] Solution numérique d'une équation différentielle ordinaire du second ordre, problème de valeur initiale, calcul numérique
[Calcul scientifique / technique par Python] Liste des utilisations des fonctions (spéciales) utilisées en physique en utilisant scipy
[Calcul scientifique et technique par Python] Dessin de figures fractales [Triangle de Shelpinsky, fougère de Bernsley, arbre fractal]
[Calcul scientifique / technique par Python] Solution numérique d'un problème d'oscillateur harmonique unidimensionnel par vitesse Méthode de Berle
[Calcul scientifique / technique par Python] Solution numérique du problème des valeurs propres de la matrice par multiplication de puissance, algèbre linéaire numérique
[Calcul scientifique / technique par Python] Intégration numérique, loi trapézoïdale / Simpson, calcul numérique, scipy
[Calcul scientifique / technique par Python] Exemple de visualisation de champ vectoriel, champ magnétique électrostatique, matplotlib
[Calcul scientifique / technique par Python] Transformation de Fourier à grande vitesse discrète en 3D unidimensionnelle, scipy
[Calcul scientifique / technique par Python] Marche aléatoire 2D (problème de marche ivre), calcul numérique
[Calcul scientifique / technique par Python] Simulation de Monte Carlo par la méthode metropolis de la thermodynamique du système de spin ascendant 2D
[Calcul scientifique / technique par Python] Résolution d'équations différentielles ordinaires, formules mathématiques, sympy
[Calcul scientifique / technique par Python] Dérivation de solutions analytiques pour équations quadratiques et cubiques, formules, sympy
Liste des opérations de base de Python3 list, tapple, dictionnaire, set
1. Statistiques apprises avec Python 1-2. Calcul de diverses statistiques (Numpy)
Calcul des indicateurs techniques par TA-Lib et pandas
Fonctionnement de base de Python Pandas Series et Dataframe (1)
[Calcul scientifique / technique par Python] Résolution de l'équation différentielle ordinaire du second ordre par la méthode Numerov, calcul numérique
[Calcul scientifique / technique par Python] Tracer, visualiser, matplotlib des données 2D avec barre d'erreur
[Calcul scientifique / technique par Python] Résolution de l'équation de Newton unidimensionnelle par la méthode Runge-Kutta du 4ème ordre
[Python] Opération d'énumération
[Calcul scientifique / technique par Python] Résolution du problème de la valeur aux limites des équations différentielles ordinaires au format matriciel, calcul numérique
Fonctionnement de base des Pandas
calcul de tableau numpy python
Connaissance de base de Python
Python Basic --Pandas, Numpy-
[Calcul scientifique / technique par Python] Solution numérique d'équations d'ondes unidimensionnelles et bidimensionnelles par méthode FTCS (méthode explicite), équations aux dérivées partielles bi-courbes
[Calcul scientifique / technique par Python] Génération de nombres aléatoires non uniformes donnant une fonction de densité de probabilité donnée, simulation Monte Carlo
Somme de plusieurs tableaux numpy (somme)
[Calcul scientifique / technique par Python] Solution numérique d'équations différentielles ordinaires du premier ordre, problème de valeur initiale, calcul numérique
python> Gestion des tableaux 2D
Calcul de similitude par MinHash
[Calcul scientifique / technique par Python] Vague "gémissement" et vitesse de groupe, superposition des vagues, visualisation, physique du lycée
J'ai écrit le fonctionnement de base de Numpy dans Jupyter Lab.
Utilisation basique de la f-string Python
Comparaison de la vitesse de calcul en implémentant python mpmath (calcul de précision arbitraire) (Note)
[Algorithme x Python] Calcul des statistiques de base Partie 2 (moyenne, médiane, la plus fréquente)
[Algorithm x Python] Calcul des statistiques de base (valeur totale, valeur maximale, valeur minimale)
Visualisation de la matrice créée par numpy
Résumé de l'implémentation de base par PyTorch
[Calcul scientifique / technique par Python] Solution numérique de l'équation de Laplace-Poisson bidimensionnelle pour la position électrostatique par la méthode Jacobi, équation aux dérivées partielles elliptiques, problème des valeurs aux limites
[Calcul scientifique / technique par Python] Solution numérique d'une équation de conduction thermique non stationnaire unidimensionnelle par méthode Crank-Nicholson (méthode implicite) et méthode FTCS (méthode de solution positive)
Grammaire de base du système Python3 (dictionnaire)
Comportement de python3 par le serveur de Sakura
[Python] Calcul du coefficient kappa (k)