Pensez à un premier problème, le noyau de numpy est un tableau multidimensionnel et la liste est également une matrice. Est-il vrai si leurs caractéristiques sont les mêmes?
Quelle est la fonction de liste? Vous avez oublié? Vous ne pouvez pas répondre aux questions précédentes et continuer à regarder des questions.
Le premier tableau
En premier, créez une matrice à sens unique:
# 创建一维数组data_arr = np.arange(10)# 输出[0 1 2 3 4 5 6 7 8 9]
0 -9, un -way Array, nous avons essayé le tableau après la sortie
# 输出数组的后五位数data_arr[-5:]data_arr[5:10]# 输出[5 6 7 8 9][5 6 7 8 9]
comme la liste de liste, une matrice à sens unique prend également en charge le fonctionnement des tranches. Différentes tranches, la matrice est la vue de la matrice d'origine et toutes les modifications de la vue seront reflétées directement sur la matrice source.
# 修改数组后五位数的值data_arr[-5:] = 0# 输出[0 1 2 3 4 0 0 0 0 0]# 修改数组奇数位上的值为 -1data_arr[::2] = -1# 输出[-1 1 -1 3 -1 0 -1 0 -1 0]
peut être modifié directement, ce qui signifie la vue, permettant ainsi la valeur de la valeur de la matrice source.
Haut, nous devons trouver tous les éléments
# 数组值为 -1的所有元素data_arr == -1data_arr[data_arr == -1]# 输出[ True False True False True False True False True False][-1 -1 -1 -1 -1]
en comparant data_arrSortie d'une matrice booléenne, puis d'exporter les résultats de la valeur true booléenne.
Bien sûr, cet exemple est plus fort et la sortie est définitivement -1.Modification de la méthode de comparaison, nous trouvons tous les éléments de la valeur de matrice supérieure à 0
# 数组值大于 0 的所有元素data_arr[data_arr > 0]# 输出[1 3]
Nous constatons que le tableau prend en charge l'indice Boolean
Obtenir un autre réseau multidimensionnel
et la méthode de création utilisée ici diffère ici de la description sur
Les classifications comprennent.
La fonction aléatoire est également Rand (), Randin (), Randin () et d'autres méthodes
# 通过 randn 函数生成五行三列正态分布的随机数据data_arr2d = np.random.randn(5, 3)# 输出[ 1.13042124 -1.6739234 0.53706167] [-0.97661624 -0.27100353 0.00312314] [-0.01815399 -1.11894791 0.54558887] [-0.90802724 0.07955776 -0.26139345] [-0.59722727 -0.54188117 1.1033876 ]
Nous sommes ici via Randn () Méthode Créez une donnée aléatoire d'un distribution normale.
on pourrait voir que le même patch, des tableaux de deux dimensions dans une partie de l'équipe.souhaiter.
Explication: a déclaré toutes les lignes :: 2 Indique que toutes les 2 lignes sont démarrées à partir du 0
# 输出五行三列数据的第一行数据data_arr2d[:1]# 输出[ 1.13042124 -1.6739234 0.53706167]# 输出五行三列数据的第二行第二列数据data_arr2d[1:2, 1:2]# 输出[-0.27100353]# 输出五行三列数据的奇数行奇数列数据data_arr2d[::2, ::2]# 输出[ 1.13042124 0.53706167] [-0.01815399 0.54558887] [-0.59722727 1.1033876 ]
, bien sûr, nous sommes également possible que les deux précieux -Lablisation décrite est déterminée par les tranches d'index +, puis la rangée de la matrice à deux dimensions est déterminée par le segment et la valeur correspondante peut également être effectuée; En revanche, les tranches sont déterminées et déterminent que l'indice est appliqué de la même manière.
Remarque: l'indice Python commence à partir de 0 (c'est-à-dire la première rangée)
Supposons cinq flux de données sur la représentation de la langue "A, B, C, D, E" respectivement Mathématiques, Science anglaise, nous correspondons au tableau de noms
, le flux de données correspond aux "A, B, C, D, D" Colonnes et de données, des données des données, des mathématiques, des sciences anglaises réalisations.
Nous avons essayé d'exporter des cours C
# 输出五行三列数据的第二行的奇数列数据data_arr2d[1, ::2]# 输出[-0.97661624 0.00312314]# 输出五行三列数据的奇数行的第二列数据data_arr2d[::2, 1]# 输出[-1.6739234 -1.11894791 -0.54188117]
optique dans nom_arr, toutes les colonnes Sortie
Essayez d'exporter A, C, D et E ,
déterminationMarchandises A, C, D, E Selon Name_arr et exporter toutes les colonnes.
# 创建数组,表示“A,B,C,D,E“name_arr = np.array(['A', 'B', 'C', 'D', 'E'])# 输出['A' 'B' 'C' 'D' 'E']
Ici, il se trouve ici dans toutes les lignes # C 的三科成绩data_arr2d[name_arr == 'C']# 输出[-0.01815399 -1.11894791 0.54558887]
# A、C、D、E 的三科成绩data_arr2d[name_arr != 'B']# A、C、D、E 的三科成绩data_arr2d[~(name_arr == 'B')]# 输出[ 1.13042124 -1.6739234 0.53706167] [-0.01815399 -1.11894791 0.54558887] [-0.90802724 0.07955776 -0.26139345] [-0.59722727 -0.54188117 1.1033876 ]
peut être trouvé. Faites également attention à l'icône (! =) Ou de noter que Python 2.7.13 ou de nombreuses autres versions sont remplacés par une ligne ondulée (~) au lieu de négatif (-)
# 输出 A、C同学的三科成绩data_arr2d[(name_arr == 'A') | (name_arr == 'C')]# 输出[ 1.13042124 -1.6739234 0.53706167] [-0.01815399 -1.11894791 0.54558887]
Exemple: si nous voulons exporter vos classes en classe A et C?
# 输出在 0-1之间的所有数据data_arr2d[(data_arr2d > 0) & (data_arr2d < 1)]# 输出[0.53706167 0.00312314 0.54558887 0.07955776]
Identifier une ligne A, C
Si nous voulons simplement exporter toutes les données de 0-1?
La valeur spécifiée dans la plage de 0-1 est criblée par la valeur Data_arr2D
peut voir qu'il y en a beaucoup sur le booléen conditions combinées. UTILISATION ET AMP; (avec), | (ou), (NO) opérateur arithmétique
# 负数全部用0代替data_arr2d[data_arr2d < 0] = 0# 输出[1.13042124 0. 0.53706167] [0. 0. 0.00312314] [0. 0. 0.54558887] [0. 0.07955776 0. ] [0. 0. 1.1033876 ]
ATTENTIONSurtout: Mots-clés Python et ou dans le réseau booléen
Le problème final, si nous voulons utiliser tous les numéros négatifs à la place?
La valeur de tous les moins de 0 est sélectionnée en modifiant la valeur de la matrice source
en modifiant la vue. Le problème final est un peu de nettoyage des données, moins de 0 est inhabituel. Valeur, pour une valeur d'exception, nous pouvons gérer
à résumer Si vous ne comprenez pas la logique d'aujourd'hui, résumez le dernier off est très nécessaire, bon . Premièrement, grâce aux caractéristiques pertinentes de la liste, nous analysons les caractéristiques associées des tableaux d'un sens, deux dimensions distinctes. Liste des tranches: Skicks en démarrant l'enregistrement, mettant fin à l'index, à la taille de l'étape et à d'autres paramètres. Array à sens unique: Sur la base de la tranchée, il existe de nombreux index booléens, modifiez la fonction de la vue 2D matrices: dans une fonction de tranche, le deuxième nouveau messageLa tablette et la fonction de la fonction + tranches sont également prises en charge. Enfin, n'oubliez pas les problèmes qui viennent de commencer, quelle est la liste et Numppy? Les élèves se répondent.Après avoir lu l'article, je devrais être très simple. a été écrit de la manière suivante Si vous comprenez les tranches de la liste, ceci est bien compris.Par conséquent, ou la chose la plus fondée basée sur l'ordre élevé de l'avenir.NUMPY est également, bien informé, a une aide précieuse dans les données de nettoyage plus tard, l'algorithme de départ!