• Aide
  • Eurêkoi Eurêkoi

Livre

Analyse de données avec Python

Résumé

Un guide pour extraire, classer et analyser d'importants volumes de données grâce au langage Python. Avec des instructions concernant la manipulation, le traitement, le nettoyage et la compression des jeux de données. A jour des nouveautés apportées par la dernière version. Les fichiers de données et le matériel associé sont disponibles sur GitHub. ©Electre 2021


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • DL 2021
  • Notes
    • Traduit de l'américain
    • La couv. porte en plus : "Préparation des données avec pandas, NumPy et IPython"
    • Sur la page de titre mention de l'éditeur de la version originale : O'Reilly
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XVI-540 p.) ; 23 x 19 cm
  • Sujet(s)
  • ISBN
    • 978-2-412-06504-4
  • Indice
  • Quatrième de couverture
    • Analyse de données avec Python

      Découvrez des techniques éprouvées pour manipuler, traiter, nettoyer et reformer des jeux de données en Python. À jour des dernières versions 3.x de Python, ce guide regorge d'études de cas pratiques montrant comment résoudre efficacement un large ensemble de problèmes d'analyse de données. Vous apprendrez à maîtriser les dernières versions de pandas, NumPy, IPython et Jupyter.

      Écrit par le créateur du projet pandas de Python, ce livre est une introduction pratique et moderne aux outils de la science des données en Python. Il est idéal pour les analystes qui débutent en Python comme pour les programmeurs qui ne connaissent pas la datalogie (ou science des données) ni le calcul scientifique. Les fichiers de données et tout le matériel associé sont disponibles sur GitHub.

      • Utilisez le shell IPython et Jupyter Notebook pour explorer des sources de données.
      • Apprenez les fonctionnalités de base et avancées de NumPy (Numerical Python).
      • Démarrez avec les outils d'analyse de données de la librairie pandas.
      • Utilisez des outils polyvalents pour charger, nettoyer, transformer, fusionner et remodeler les données.
      • Créez des visualisations efficaces avec matplotlib.
      • Appliquez les outils de regroupement de pandas pour découper, trancher et résumer des jeux de données.
      • Analysez et manipulez des données provenant de séries chronologiques régulières et irrégulières.
      • Résolvez les problèmes d'analyse de données du monde réel.

  • Tables des matières
      • Analyse de données avec Python

      • Wes McKinney

      • First Interactive, O'Reilly ®

      • Préface xi
      • Nouveautés pour la deuxième éditionix
      • Conventions utilisées dans ce livrex
      • Utilisation des exemples de codexi
      • Terminologie françaisexii
      • In [] et Out[]xii
      • 1. Préliminaires1
      • 1.1 De quoi parle ce livre ?1
      • Quels types de données ?1
      • 1.2 Pourquoi Python pour l'analyse des données ?2
      • Python, roi du collage2
      • Résoudre le problème des « deux langages »3
      • Pourquoi pas Python ?3
      • 1.3 Librairies Python essentielles4
      • NumPy4
      • pandas5
      • matplotlib6
      • IPython et Jupyter6
      • SciPy7
      • scikit-learn8
      • statsmodels9
      • 1.4 Installation et configuration9
      • Windows10
      • Apple (OS X, macOS)10
      • GNU/Linux10
      • Installation ou mise à jour de packages Python11
      • Python 2 et Python 312
      • Environnements de développement intégrés (IDE) et éditeurs de texte12
      • 1.5 Communauté et conférences13
      • 1.6 Naviguer dans ce livre14
      • Exemples de code14
      • Données pour les exemples15
      • Conventions d'importation15
      • Jargon15
      • 2. Les bases du langage Python, de IPython et des calepins Jupyter17
      • 2.1 L'interpréteur Python18
      • 2.2 Les bases de IPython19
      • Exécuter le shell de IPython19
      • Exécuter Jupyter Notebook20
      • Complétion automatique de saisie23
      • Introspection25
      • La commande %run26
      • Exécuter du code depuis le presse-papiers28
      • Raccourcis clavier du terminal28
      • Commandes magiques29
      • Intégration de matplotlib32
      • 2.3 Bases du langage Python32
      • Sémantique33
      • Types scalaires41
      • Contrôle du flux d'exécution49
      • 3. Structures de données natives, fonctions et fichiers55
      • 3.1 Structures de données et séquences55
      • Tuples55
      • Listes59
      • Fonctions sur séquences natives63
      • Dictionnaires dict66
      • Ensembles set69
      • Listes, ensembles et dictionnaires par compréhension72
      • 3.2 Fonctions74
      • Espaces de noms, portée et fonctions locales75
      • Renvoyer des valeurs multiples76
      • Les fonctions sont des objets77
      • Fonctions lambda (anonymes)78
      • Argumentation partielle par curryfication79
      • Générateurs80
      • Erreurs et traitement des exceptions82
      • 3.3 Les fichiers et le système d'exploitation85
      • Octets et Unicode avec les fichiers88
      • 3.4 Conclusion90
      • 4. Principes de NumPy : tableaux et calculs vectoriels91
      • 4.1 NumPy et ndarray : un objet multidimensionnel93
      • Créer des ndarray94
      • Types de données pour les ndarray96
      • Arithmétique avec des tableaux NumPy99
      • Indexation et tranchage élémentaires100
      • Indexation booléenne106
      • Indexation fancy108
      • Transposer des tableaux et permuter les axes110
      • 4.2 Fonctions universelles : fonctions de tableau rapides élément par élément111
      • 4.3 Programmation orientée tableaux avec les tableaux NumPy114
      • Exprimer une logique conditionnelle sous forme d'opérations de tableau116
      • Méthodes mathématiques et statistiques118
      • Méthodes pour les tableaux booléens120
      • Tris120
      • unique et autres logiques d'ensembles121
      • 4.4 Entrées et sorties fichiers avec NumPy122
      • 4.5 Algèbre linéaire123
      • 4.6 Génération de nombres pseudo-aléatoires125
      • 4.7 Exemple : marches aléatoires127
      • Simuler plusieurs marches aléatoires à la fois128
      • 4.8 Conclusion130
      • 5. Débuter avec pandas131
      • 5.1 Introduction aux structures de données pandas132
      • Sériés132
      • DataFrame136
      • Objets Index142
      • 5.2 Fonctionnalités essentielles144
      • Réindexation145
      • Supprimer des entrées d'un axe147
      • Indexation, sélection et filtrage149
      • Index numériques entiers153
      • Arithmétique et alignement des données155
      • Application de fonctions et mappage161
      • Tri et classement163
      • Index d'axes avec des étiquettes dupliquées166
      • 5.3 Synthèse et statistiques descriptives167
      • Corrélation et covariance170
      • Valeurs uniques, dénombrement de valeurs et appartenance172
      • 5.4 Conclusion175
      • 6. Chargement et stockage de données177
      • 6.1 Lecture et écriture de données au format texte177
      • Lecture de fichiers texte par morceaux183
      • Écrire des données au format texte185
      • Travailler avec des formats à délimiteurs187
      • Données JSON189
      • XML et HTML : le web scraping190
      • 6.2 Formats de fichiers binaires194
      • Utiliser le format HDF5195
      • Lire des fichiers Microsoft Excel197
      • 6.3 Interagir avec des API Web198
      • 6.4 Interagir avec des bases de données199
      • 6.5 Conclusion201
      • 7. Nettoyage et préparation des données203
      • 7.1 Traitement des données manquantes203
      • Filtrer les données manquantes205
      • Compléter les données manquantes207
      • 7.2 Transformer les données209
      • Supprimer les doublons209
      • Transformer des données à l'aide d'une fonction ou d'un mappage211
      • Remplacer des valeurs213
      • Renommer les index d'un axe214
      • Discrétisation et binning215
      • Détecter et filtrer les valeurs aberrantes218
      • Permutation et échantillonnage aléatoire219
      • Calculer des variables indicatrices/factices220
      • 7.3 Manipuler des chaînes224
      • Méthodes pour les objets chaînes224
      • Expressions régulières225
      • Fonctions de chaîne vectorisées dans pandas229
      • 7.4 Conclusion232
      • 8. Joindre, combiner et remanier les données233
      • 8.1 Indexation hiérarchique233
      • Réorganiser et trier les niveaux236
      • Statistiques sommaires par niveau237
      • Indexer avec les colonnes d'un DataFrame237
      • 8.2 Combiner et fusionner des jeux de données239
      • Jointures de DataFrame en style bases de données239
      • Fusion sur l'index244
      • Concaténer le long d'un axe248
      • Combiner des données avec chevauchement253
      • 8.3 Remodeler et pivoter255
      • Remodelage avec indexation hiérarchique255
      • Faire pivoter du format « long » au format « large »258
      • Faire pivoter du format « large » au format « long »261
      • 8.4 Conclusion263
      • 9. Tracés et visualisation265
      • 9.1 Un bref aperçu de l'API de matplotlib266
      • Figures et sous-tracés267
      • Couleurs, marqueurs et styles de lignes271
      • Marques, étiquettes et légendes274
      • Annotations et dessin sur un sous-tracé277
      • Enregistrement de tracés dans un fichier280
      • Configuration de matplotlib281
      • 9.2 Tracer avec pandas et seaborn282
      • Tracés linéaires282
      • Graphiques en barres285
      • Histogrammes et tracés de densité291
      • Graphiques de dispersion et nuages de points294
      • Grilles à facettes et données catégorielles297
      • 9.3 Autres outils de visualisation Python299
      • 9.4 Conclusion300
      • 10. Agrégation de données et opérations de groupe301
      • 10.1 Mécanisme de GroupBy302
      • Itérer sur des groupes305
      • Sélectionner une colonne ou un sous-ensemble de colonnes307
      • Grouper avec des dicts et des séries308
      • Grouper avec des fonctions309
      • Grouper par niveaux d'index309
      • 10.2 Agrégation de données310
      • Application par colonnes et fonctions multiples312
      • Renvoyer des données agrégées sans index de lignes316
      • 10.3 Séparer-appliquer-combiner avec apply316
      • Supprimer les clés de groupe319
      • Analyse par quantiles et baquets319
      • Exemple : remplir les valeurs manquantes avec des valeurs spécifiques au groupe320
      • Exemple : échantillonnage aléatoire et permutation322
      • Exemple : moyennes de groupe pondérées et corrélations324
      • Exemple : régression linéaire par groupe326
      • 10.4 Tableaux croisés dynamiques et tableaux pivots327
      • Tableaux croisés simples329
      • 10.5 Conclusion331
      • 11. Séries chronologiques333
      • 11.1 Types de données et outils de date et d'heure334
      • Conversions entre chaînes de caractères et datetime335
      • 11.2 Les bases des séries chronologiques338
      • Indexation, sélection, substitution339
      • Séries temporelles avec indices dupliqués342
      • 11.3 Plages de dates, fréquences et décalages343
      • Générer des plages de dates344
      • Fréquences et décalages de dates347
      • Décalage de données (avance et retard)348
      • 11.4 Gérer les fuseaux horaires351
      • Localisation et conversion des fuseaux horaires352
      • Opérations avec des objets d'horodatage tenant compte du fuseau horaire354
      • Opérations entre fuseaux horaires355
      • 11.5 Travailler avec les périodes de temps356
      • Conversion de fréquence des périodes357
      • Fréquences trimestrielles359
      • Conversion des horodatages en périodes (et inversement)361
      • Création d'un Periodlndex à partir de tableaux362
      • 11.6 Rééchantillonnage et conversion de fréquences365
      • Sous-échantillonnage366
      • Suréchantillonnage et interpolation369
      • Rééchantillonnage avec des périodes370
      • 11.7 Fonctions de fenêtre mobile372
      • Fonctions à pondération exponentielle375
      • Fonctions de fenêtre mobile binaires377
      • Fonctions de fenêtre mobile définies par l'utilisateur378
      • 11.8 Conclusion379
      • 12. Fonctionnalités avancées de pandas381
      • 12.1 Données catégorielles381
      • Contexte et motivation381
      • Le type Categorical de pandas383
      • Calculs avec Categorical385
      • Méthodes catégorielles388
      • 12.2 Utilisation avancée de GroupBy391
      • Transformations de groupes et « déballages »391
      • Rééchantillonnage temporel groupé395
      • 12.3 Techniques de chaînage de méthodes396
      • La méthode de canalisation pipe398
      • 12.4 Conclusion399
      • 13. Introduction aux librairies de modélisation pour Python401
      • 13.1 Interfaçage entre pandas et le code de modélisation401
      • 13.2 Créer des descriptions de modèles avec Patsy404
      • Transformations de données dans les formules de Patsy407
      • Données catégorielles et Patsy409
      • 13.3 Introduction à statsmodels412
      • Estimation des modèles linéaires412
      • Estimer des processus de séries temporelles415
      • 13.4 Introduction à scikit-learn416
      • 13.5 Pour poursuivre votre formation420
      • 14. Exemples d'analyse de données421
      • 14.1 Données USA.gov de Bitly421
      • Dénombrer des zones Time Zone en Python pur422
      • Dénombrer des zones Time Zone avec pandas425
      • 14.2 Jeu de données MovieLens 1M432
      • Mesurer les divergences de notation436
      • 14.3 Prénoms des bébés américains 1880-2010438
      • Analyse des tendances de choix de prénom443
      • Mesure de l'augmentation de diversité des prénoms445
      • La révolution de la « dernière lettre »448
      • Prénoms de garçons devenus prénoms de filles (et vice versa)451
      • 14.4 Base de données sur l'alimentation de l'USDA453
      • 14.5 Base de données de la Commission électorale fédérale 2012459
      • Statistiques sur les dons par profession et par employeur462
      • Distribution des montants des dons en baquets465
      • Statistiques sur les dons par État467
      • 14.6 Conclusion468
      • Annexe A Techniques avancées pour NumPy469
      • A.1 Détails internes de l'objet ndarray469
      • Hiérarchie des types de NumPy470
      • A.2 Manipulation sophistiquée des tableaux471
      • Reformation d'un tableau472
      • Ordre de parcours C ou Fortran474
      • Concaténation et division de tableaux475
      • Répétition d'éléments avec tile et repeat478
      • Équivalents à l'indexation fancy : take et put480
      • A.3 Diffusion {broadcasting)481
      • Diffusion selon d'autres axes484
      • Création de valeurs de tableau par diffusion486
      • A.4 Utilisation avancée de ufunc487
      • Méthodes d'instance ufunc487
      • Création de nouvelles ufunc en Python489
      • A.5 Tableaux structurés et enregistrements490
      • Imbrication de dtype et champs multidimensionnels491
      • Pourquoi recourir aux tableaux structurés ?492
      • A.6 Retour sur les tris492
      • Tri indirect avec argsort et lexsort494
      • Autres algorithmes de tri495
      • Tri partiel d'un tableau496
      • numpy.searchsorted : recherche d'éléments dans un tableau trié497
      • A.7 Fonctions NumPy rapides avec Numba498
      • Création d'un objet numpy.ufunc spécifique avec Numba500
      • A.8 Entrées et sorties tableaux sophistiquées500
      • Fichiers relayés en mémoire (memory mapped)500
      • Format HDF5 et autres options de stockage de tableaux502
      • A. 9 Considérations de performances502
      • De l'importance de la continuité d'implantation mémoire502
      • Annexe B Plus loin avec IPython505
      • B.1 Historique de ligne de commande505
      • Recherche dans l'historique et réutilisation de commande505
      • Variables d'entrée et de sortie506
      • B.2 Interactions avec le système d'exploitation507
      • Commandes shell et alias508
      • Signets de répertoires509
      • B.3 Outils de développement logiciel510
      • Débogueur interactif510
      • Chronométrage d'exécution avec %time et %timeit515
      • Profilage élémentaire avec %prun et %run -p516
      • Profilage d'une fonction ligne par ligne518
      • B.4 Astuces de développement IPython520
      • Rechargement des dépendances de modules521
      • Astuces de conception du code522
      • B.5 Fonctions IPython sophistiquées523
      • Rendre vos propres classes IPythonesques523
      • Profils et configuration524
      • B.6 Conclusion525
      • Index 527

  • Origine de la notice:
    • Electre
  • Disponible - 681.234 MCK

    Niveau 3 - Informatique