| Les deux révisions précédentesRévision précédente | |
| issue140:python [2019/01/08 14:27] – d52fr | issue140:python [2019/01/08 16:16] (Version actuelle) – auntiee |
|---|
| • pytz** | • pytz** |
| |
| Pandas et Python et Code ... Oh ! Mon D... ! | Pandas et Python et Code ... Oh mon D... ! |
| |
| En général, j'essaie de me tenir au courant des nouveautés dans les mondes de Python et de la programmation. Récemment, j'ai vu bon nombre d'articles sur Python ayant à voir avec la Science des données et l'apprentissage des machines, qui incorporaient une bibliothèque Python appellée Pandas. J'en avais entendu parlé avant, mais je n'avais jamais pris le temps d'en savoir plus à son sujet. Récemment, je me suis renseigné et je suis content de l'avoir fait ! | En général, j'essaie de me tenir au courant des nouveautés dans les mondes de Python et de la programmation. Récemment, j'ai vu bon nombre d'articles sur Python au sujet de la Science des données et l'apprentissage des machines, qui utilisaient une bibliothèque Python appelée Pandas. J'en avais entendu parlé avant, mais je n'avais jamais pris le temps d'en savoir plus à son sujet. Récemment, je me suis renseigné et je suis content de l'avoir fait ! |
| |
| Pandas, pour citer leur propre page Web, « est une bibliothèque Open Source, sous licence BSD, fournissant des outils pour les structures de données et leur analyse, à haute performance et faciles à utiliser, pour le langage de programmation Python. » | Pandas, pour citer leur propre page Web, « est une bibliothèque Open Source, sous licence BSD, fournissant des outils pour les structures de données et leur analyse, à haute performance et faciles à utiliser, pour le langage de programmation Python. » |
| A Series data structure is a 1D labeled array which is size-immutable and contains homogeneous data (same data type). A DataFrame structure is a 2D labeled tabular structure which is size-mutable, which contains heterogeneous data (data of different types) and is a container for a Series structure. A Panel is a 3D labeled size-mutable array which contains heterogeneous data and is a container for a DataFrame structure. All Pandas data structures are value mutable (can be changed). Size-mutable is only available to DataFrames and Panel structures.** | A Series data structure is a 1D labeled array which is size-immutable and contains homogeneous data (same data type). A DataFrame structure is a 2D labeled tabular structure which is size-mutable, which contains heterogeneous data (data of different types) and is a container for a Series structure. A Panel is a 3D labeled size-mutable array which contains heterogeneous data and is a container for a DataFrame structure. All Pandas data structures are value mutable (can be changed). Size-mutable is only available to DataFrames and Panel structures.** |
| |
| Ainsi, étant donné que Pandas est une bibliothèque aussi importante pour la science des données, je prévois de passer quelques articles dessus. Maintenant, je ne vais pas essayer de vous apprendre une part étendue de Pandas dans ce court article. Je vais juste essayer de vous montrer quelques-uns des points précis que Pandas peut faire. Nous approfondirons Pandas dans les prochains articles. | Ainsi, étant donné que Pandas est une bibliothèque aussi importante pour la Science des données, je prévois de faire quelques articles dessus. Et je ne vais pas essayer de vous apprendre une part étendue de Pandas dans ce court article. Je vais juste essayer de vous montrer quelques-uns des trucs chouettes que Pandas peut faire. Nous approfondirons Pandas dans les prochains articles. |
| |
| Pandas peut aller avec trois types de structures de données : | Pandas peut gérer trois types de structures de données : |
| • Series | • Series |
| • DataFrame | • DataFrame |
| C'est bien, toute cette information brute, mais pour apprécier réellement comment Pandas facilite la gestion des données, jouons un peu avec. Une des meilleures choses à propos de Pandas est que, souvent, vous pouvez faire la plupart de votre travail dans un shell Python. | C'est bien, toute cette information brute, mais pour apprécier réellement comment Pandas facilite la gestion des données, jouons un peu avec. Une des meilleures choses à propos de Pandas est que, souvent, vous pouvez faire la plupart de votre travail dans un shell Python. |
| |
| Aussi, en présumant que vous avez récupéré la bibliothèque Pandas, ouvrons un shell Python3. La première chose que vous avez besoin de faire est d'importer la bibliothèque Pandas. | Aussi, en présumant que vous avez récupéré la bibliothèque Pandas, ouvrons un shell Python3. La première chose que vous devez faire est d'importer la bibliothèque Pandas. |
| |
| >>> import pandas as pd | >>> import pandas as pd |
| La commande .tail() fonctionne de la même façon, en montrant la fin de la liste. | La commande .tail() fonctionne de la même façon, en montrant la fin de la liste. |
| |
| Si vous voulez juste voir un des éléments de la liste, vous pouvez utiliser l'index... | Si vous ne voulez voir qu'un des éléments de la liste, vous pouvez utiliser l'index... |
| |
| >>> print(sd[4]) | >>> print(sd[4]) |
| max 98.000000** | max 98.000000** |
| |
| Une des choses que j'apprécie vraiment dans Pandas c'est les fonctions du Data Analysis Helper (Aide à l'analyse de fonction) intégré. Voici un exemple rapide... | Une des choses que j'apprécie vraiment dans Pandas, c'est les fonctions intégrées du Data Analysis Helper (Aide à l'analyse des données). Voici un exemple rapide... |
| |
| >>> sd.sum() | >>> sd.sum() |
| • Autres DataFrames | • Autres DataFrames |
| |
| La façon la plus simple étant de vous montrer une Dataframe en action, créons un petit dictionnaire (montré ci-dessous). | La façon la plus simple de vous montrer une Dataframe en action sera de créer un petit dictionnaire (montré ci-dessous). |
| |
| **As you can see, there will be four rows and four columns. And you can also see that the data types are mixed. Just as we did when we created the Series data structure, we simply call the .DataFrame command with our data (there are other parameter options that we’ll discuss another time). | **As you can see, there will be four rows and four columns. And you can also see that the data types are mixed. Just as we did when we created the Series data structure, we simply call the .DataFrame command with our data (there are other parameter options that we’ll discuss another time). |
| >>> ** | >>> ** |
| |
| Comme vous pouvez le voir, il y a quatre lignes et quatre colonnes. Et vous pouvez voir aussi que les types de données sont variés. Comme nous l'avons fait quand nous avons créé la structure de données Series, nous appelons simplement la commande .Dataframe avec nos données (il y a un autre paramètre dont nous parlerons une autre fois). | Comme vous pouvez le voir, il y a quatre lignes et quatre colonnes. Et vous pouvez voir aussi que les types de données sont variés. Comme nous l'avons fait quand nous avons créé la structure de données Series, nous appelons simplement la commande .Dataframe avec nos données (il y a d'autres paramètres dont nous parlerons une autre fois). |
| |
| >>> df = pd.DataFrame(data2) | >>> df = pd.DataFrame(data2) |
| |
| Maintenant, pour voir que la structure ressemble à Pandas, nous appelons simplement la structure. | Maintenant, pour voir à quoi ressemble la structure à Pandas, nous appelons simplement la structure. |
| |
| >>> df | >>> df |
| Nom Age Sexe Service | Nom Age Sexe Service |
| 0 Greg 65 M Management | 0 Greg 65 M Management |
| 1 Sam 34 M Development | 1 Sam 34 M Development |
| 2 Mary 41 F Human Resources | 2 Mary 41 F Human Resources |
| 167** | 167** |
| |
| Comme je l'ai dit avant, cela ressemble à un tableur. À peu près tout ce que nous avons fait avec la structure Series peut être fait avec la Dataframe. Faisons quelque chose d'utile avec les données. Nous créerons une structure Series basée sur la colonne Age. | Comme je l'ai déjà dit, cela ressemble à un tableur. À peu près tout ce que nous avons fait avec la structure Series peut être fait avec la Dataframe. Faisons quelque chose d'utile avec les données. Nous créerons une structure Series basée sur la colonne Age. |
| |
| >>> age = df['Age'] | >>> age = df['Age'] |
| >>> df.loc[0] | >>> df.loc[0] |
| Nom Greg | Nom Greg |
| Age 65 | Age 65 |
| Sexe M | Sexe M |
| Service Management | Service Management |
| Name: 0, dtype: object | Name: 0, dtype: object |
| |
| Notez que nous avons utilisé l'index qui a été créé automatiquement pour nous. Nous ne pouvons pas faire quelque chose comme df.loc[‘Greg’] car ‘Greg’ n'est pas un élément indexable. CEPENDANT, il y a une façon sympa de résoudre ça. Nous pouvons utiliser la commande .set_index(ColumnName,inplace=True) pour enlever l'index par défaut et le remplacer par une colonne de notre choix. Dans ce cas, nous utiliserons la colonne « Nom »... | Notez que nous avons utilisé l'index qui a été créé automatiquement pour nous. Nous ne pouvons pas faire quelque chose comme df.loc[‘Greg’] car ‘Greg’ n'est pas un élément indexable. CEPENDANT, il y a une façon sympa de résoudre cela. Nous pouvons utiliser la commande .set_index(ColumnName,inplace=True) pour enlever l'index par défaut et le remplacer par une colonne de notre choix. Dans ce cas, nous utiliserons la colonne « Nom »... |
| |
| >>> df.set_index('Nom',inplace=True) | >>> df.set_index('Nom',inplace=True) |
| memory usage: 208.0+ bytes | memory usage: 208.0+ bytes |
| |
| J'espère que j'ai généré quelque intérêt pour Pandas. La prochaine fois, nous regarderons plus en détail les Dataframes dans Pandas. Jusque là, continuez à coder ! | J'espère que j'ai généré quelque intérêt pour Pandas. La prochaine fois, nous regarderons plus en détail les Dataframes dans Pandas. Jusque-là, continuez à coder ! |
| |