1、Connaissances préparatoires-pythonUtilisation de base base base commune d'analyse des données(Allez.)
Généralités
Python C'est le langage de programmation le plus populaire au monde aujourd'hui,Et l'un de ses plus grands domaines d'application est l'analyse des données.InpythonParmi les nombreux outils d'analyse des données,pandas- Oui.pythonBase d'analyse de données très couramment utilisée dans,Dans l'analyse des données,Apprentissage automatique,Des domaines tels que l'apprentissage profond sont fréquemment utilisés.Utiliser Pandas On peut. Excel/CSV/TXT/MySQL Attendez que les données soient lues,Ensuite, on procède à divers lavages、Filtration、Perspective、Analyse agrégée,Vous pouvez également dessiner un diagramme linéaire directement、Diagrammes d'analyse des données comme les diagrammes à secteurs,Fonctionnellement, il peut automatiser le traitement de gros fichiers,Capable de réaliser Excel Presque toutes les fonctions et plus puissantes.
Cette expérience se déroulera de façon pratique,IntroductionpandasUtilisation de base de la base d'analyse des données,Laissez tout le monde maîtriser rapidement en peu de tempspythonBase d'analyse des données pourpandasUtilisation de,Constituer une réserve de connaissances pour le codage ultérieur des projets
Environnement expérimental
- Python 3.7
- PyCharm
Tâche 1:Installation et configuration de l'environnement
【Objectif expérimental】
Les principaux objectifs de cette expérience sont les suivants:WindowsDans le système d'exploitation,Terminer la tâche de configuration de l'environnement pour cette expérience,Le logiciel requis pour cette expérience est:PyCharm+Python 3.7
【Procédure expérimentale】
1、InstallationPython 3.7
2、InstallationPycharm
3、Installationjupyter、pandas、numpy、notebook
Ouvre.CMD,Et entrez la commande suivante,Installationjupyter、notebook、pandasEtnumpy
pip install jupyter notebook pandas numpy
Une fois l'installation terminée, il y aura un message texte similaire à:
Une fois les étapes ci - dessus terminées,La configuration de l'environnement expérimental est terminée,FermerCMDFenêtre
Tâche 2:PandasAnalyse des données sur le terrain
【Objectifs de la Mission】
L'objectif principal de cette tâche est d'utiliserpandasAnalyse des données,Pour que tout le monde comprennepandasFonctions suivantes du module:
- Travaux préparatoires
- Vérifier les données
- Traitement des données manquantes
- Ajouter une valeur par défaut
- Supprimer les lignes incomplètes
- Supprimer les colonnes incomplètes
- Types de données normalisés
- Renommer le nom de colonne
- Enregistrer les résultats
【Étapes de la Mission】
1、Ouvre.CMD,Exécutez la commande suivante,Ouvertjupyter
jupyter notebook
Après avoir exécuté avec succès la commande ci - dessus,Le navigateur par défaut s'ouvre automatiquement,Comme le montre la figure ci - dessous:
Après l'ouverture réussie du Navigateur,Créer comme suit notebook Documentation
NouveaunotebookEffectuer une opération de renommage
2、notebook Une fois le fichier créé,Ensuite, dans le nouveau notebook Code d'écriture
Importer Pandas Dans notre code,Les codes sont les suivants:
import pandas as pd
Petit conseil:Après avoir entré le code complet,Appuyez sur【Shift + Enter】Une combinaison de touches exécute le code dans cette cellule,Une opération similaire est nécessaire après avoir entré le Code de chaque cellule plus tard,Code à exécuter
Charger l'ensemble de données,Les codes sont les suivants::
data = pd.read_csv('./data/movie_metadata.csv')
3、Vérifier les données
Avant de voir un ensemble de données5D'accord
data.head()
Les résultats de l'opération sont présentés ci - dessous:
Nous pouvons le faire par Pandas Pour voir les données,Peut également être réalisé par Excel Données de visualisation du programme
Pandas Offre quelques options,Ces options permettent de découper les données,Vous pouvez également découper les données.Voici une brève introduction:
- Voir quelques statistiques de base pour une colonne:data.columnname.describe()
- Sélectionner une colonne:data['columnname']
- Sélectionnez les premières lignes d'une colonne:data['columnsname'][:n]
- Sélectionner plusieurs colonnes:data[['column1','column2']]
- Where Filtration conditionnelle:data[data['columnname'],condition]
4、Traitement des données manquantes
Le manque de données est l'un des problèmes les plus courants.Les raisons de ce problème sont les suivantes::
- N'a jamais été correctement rempli
- Données non disponibles
- Erreur de calcul
Quelle que soit la raison,Tant qu'il y a des lacunes qui valent la peine d'exister,Peut causer des erreurs dans l'analyse ultérieure des données.Voici quelques méthodes de traitement des données manquantes:
- Assigner des valeurs par défaut aux données manquantes
- Enlevez/Supprimer les lignes de données manquantes
- Enlevez/Supprimer les colonnes manquantes élevées
4.1、Ajouter une valeur par défaut
Remplir avec une chaîne videcountryValeur nulle du champ
data.country= data.country.fillna('')
Utilisez la moyenne pour remplir la valeur vide du champ durée du film
data.duration = data.duration.fillna(data.duration.mean())
4.2、Supprimer les lignes incomplètes
data.dropna()
Les résultats sont les suivants(Parce que la sortie vers plus,Les données intermédiaires ont été omises des résultats.,Afficher uniquement le début et la fin):
Comme le montre la figure ci - dessus,En raison de l'article4Valeurs manquantes pour les données de ligne,Il a donc été supprimé.
Conseils:dropnaL'opération ne modifie pas les données brutes,Il modifie une sauvegarde équivalente aux données brutes,Les données brutes n'ont donc pas changé.
Supprimer une ligne entière avec des valeurs de NA:
data.dropna(how='all')
Les résultats sont les suivants:
Comme le montre la figure ci - dessus,Parce que la condition est:Supprimer une ligne entière estNADonnées,Par conséquent, les lignes de données qui ne remplissent pas cette condition seront conservées
Nous pouvons également ajouter quelques restrictions,Combien de valeurs non nulles dans une ligne peuvent être conservées(Dans le code suivant,Au moins dans les données de ligne 5 Valeurs non nulles)
data.dropna(thresh=5)
Les résultats sont les suivants:
Vous pouvez également spécifier les colonnes pour lesquelles vous souhaitez supprimer les valeurs manquantes
Nous avons title_year Cette colonne est un exemple,Voir d'abord title_year Valeurs manquantes dans cette colonne:
data['title_year'].isnull().value_counts()
Les résultats sont les suivants::
Comme le montre la figure ci - dessus,,title_year Existe dans cette colonne108Valeurs manquantes
Voir ci - dessous title_year Situation après suppression des valeurs manquantes
new_data = data.dropna(subset=['title_year'])
new_data['title_year'].isnull().value_counts()
Au - dessus subset Les paramètres nous permettent de sélectionner les colonnes à vérifier.Si plusieurs colonnes,Peut utiliser le nom de colonne list Comme paramètre.
Les résultats sont les suivants:
4.3、Supprimer les colonnes incomplètes
Nous pouvons appliquer les actions ci - dessus aux colonnes.Nous avons juste besoin d'utiliser le Code axis=1 Paramètres.Cela signifie que les colonnes d'action ne sont pas des lignes.(Nous l'avons déjà utilisé dans nos exemples axis=0,Parce que si on ne passe pas les paramètres, axis,Par défautaxis=0)
Supprimer une colonne entière comme suit: NA Colonne:
data.dropna(axis=1, how='all')
Les résultats sont les suivants:
Supprimer toute colonne contenant une valeur nulle:
data.dropna(axis=1,how='any')
Vous pouvez également utiliser la même chose ici que ci - dessus threshold Et subset
5、Types de données normalisés
Spécifiez le type de données de champ lors du chargement de l'ensemble de données
data = pd.read_csv('./data/movie_metadata.csv', dtype={'title_year':str})
C'est ce qu'on dit. Pandas ‘duration’Le type de colonne est un type numérique.Voir les types de colonnes de données chargées
data.info()
Les résultats sont les suivants:
object C'est - à - dire que le type de données est un type de chaîne
6、Transformation nécessaire
Les données saisies manuellement peuvent nécessiter certaines transformations nécessaires,Par exemple:
- Mauvaise typographie
- L'incohérence des majuscules et des minuscules dans les mots anglais
- Espace supplémentaire entré
Voir d'abord movie_title Données de colonne
data.movie_title
Les résultats sont les suivants::
Tout ce que nous avons dans nos données movie_title En majuscules:
data['movie_title'].str.upper()
Les résultats sont les suivants::
La même chose.,Nous pouvons supprimer les espaces laissés à la fin:
data['movie_title'].str.strip()
Les résultats sont les suivants:
7、Renommer le nom de colonne
Nous avons besoin d'une réaffectation:
data = data.rename(columns={'title_year':'release_date', 'movie_facebook_likes':'facebook_likes'})
Afficher les noms de colonnes de données renommés
data.info()
Les résultats sont les suivants::
8、Enregistrer les résultats
Après nettoyage des données,En général, les résultats sont remis en question. csv Enregistrer le format de,Pour le traitement ultérieur d'autres programmes.Encore une fois,Pandas Fournit une méthode très facile à utiliser:
data.to_csv('./data/cleanfile.csv',encoding='utf-8')
Voir /home/student/data La Table des matières se lit comme suit:,Nouveau enregistré cleanfile.csv Documentation