Résumé de base de la manipulation de données avec Python Pandas - Première moitié: création et manipulation de données

introduction

Comment manipuler les données dans Pandas, ce qui est indispensable pour gérer l'analyse des données en Python J'ai résumé les bases.

À partir de grammaires importantes que vous oubliez, nous avons inclus quelques conseils.

Recommandé pour les personnes comme celle-ci → Je veux toucher Pandas pour la première fois! → Essayez également d'utiliser R en Python. → Je ne me souviens plus de la grammaire de Pandas - ce serait pratique s'il y avait une liste quelque part ... → Combien de traitement de données peut-on faire avec Python en premier lieu?

Veuillez également inclure ceci ◆ Manipulation des données avec Pandas: utilisez Pandas_ply http://qiita.com/hik0107/items/3dd260d9939a5e61c4f6

Créons des données

Tout d'abord, importez des pandas et créez des données au format de trame de données de manière appropriée

data_creation.py


import pandas as pd
 
df_sample =\
pd.DataFrame([["day1","day2","day1","day2","day1","day2"],
              ["A","B","A","B","C","C"],
              [100,150,200,150,100,50],
              [120,160,100,180,110,80]] ).T  #Créez des données appropriées pour le moment
 
df_sample.columns = ["day_no","class","score1","score2"]  #Donnez un nom de colonne
df_sample.index   = [11,12,13,14,15,16]  #Donnez un nom d'index

◆Column / Index Access Accéder à des colonnes et des numéros d'index spécifiques

col_index_access.py


 
df_sample.columns   #Obtenir le nom de la colonne
df_sample.index     #Obtenir le nom de l'index
 
 
df_sample.columns = ["day_no","class","point1","point2"]   #Remplacer le nom de la colonne
df_sample.index   = [11,12,13,14,15,16]   #Remplacer le nom de l'index
 
 
#Utilisez la méthode Rename
df_sample.rename(columns={'score1': 'point1'})  #Je mettrai la correspondance dans un type dictionnaire

◆ Vérifiez la structure des données

Jetez un œil à l'aperçu des données

datacheck.py


#Vérifiez le nombre de lignes
len(df_sample)
 
#Confirmation du nombre de dimensions
df_sample.shape #Retourne sous la forme de (nombre de lignes, nombre de colonnes)
 
#Liste des informations de colonne
df_sample.info() #Liste des noms de colonnes et de leurs types
 
#Confirmation des statistiques de base pour chaque colonne
#Résumé en R()
df_sample.describe() #Moyenne, dispersion, quadrant, etc.
 
# head / tail
df_sample.head(10) #Vérifiez les 10 premières lignes
df_sample.tail(10) #Vérifiez les 10 premières lignes

Jouons avec les données

Sélectionnez uniquement des colonnes spécifiques dans les données

datacheck.py


#Fonctions intégrées__get_item___Sélection utilisant
df_sample["day_no"] #Écrivez et spécifiez le nom de la colonne
df_sample[["day_no","score1"]]# Utilisez la notation de liste lors de la sélection de plusieurs colonnes
 
#Sélection de colonne à l'aide de loc
#Grammaire: iloc[rows, columns]Écrivez sous la forme de
#Vous pouvez sous-ensemble non seulement des colonnes mais également des lignes en même temps
df_sample.loc[:,"day_no"]  #La ligne est "pour tout sélectionner":"Est mis.
df_sample.loc[:,["day_no","score1"]]# Utilisez la notation de liste lors de la sélection de plusieurs colonnes
         
#Sélection de colonnes à l'aide d'iloc
#Grammaire: iloc[numéro de lignes,numéro de colonnes]Écrivez sous la forme de
df_sample.iloc[:,0]  #Sélectionnez par numéro
df_sample.iloc[:,0:2] #En cas de numéros de série multiples. Vous pouvez également aller en notation de liste
 
 
#Sélection de colonne à l'aide de ix
#Les noms de colonne et les numéros de colonne peuvent être utilisés. En gros, ça fait du bien d'utiliser ça
df_sample.ix[:,"day_no"] #Dans le cas de la sélection d'une seule colonne, le résultat est Pandas.Series Object
df_sample.ix[:,["day_no","score1"]] #En cas de sélection multi-colonnes, le résultat est Pandas.Devenez un Dataframe
 
df_sample.ix[0:4,"score1"] #Les lignes peuvent être sélectionnées par numéro et les colonnes peuvent être sélectionnées par nom de colonne
 
 
series_bool = [True,False,True,False]
df_sample.ix[:,series_bool]  #Vous pouvez également sélectionner un tableau booléen
 
 
#Sélection par correspondance partielle du nom de la colonne
#Sélectionnez pour R Dplyr(Contains()), Un schéma pratique pour la sélection de correspondance partielle des noms de colonne
#Pandas n'a pas cette fonctionnalité, vous devrez donc prendre quelques mesures.
 
score_select = pd.Series(df_sample.columns).str.contains("score") # "score"Jugement logique de l'inclusion ou non dans le nom de la colonne
df_sample.ix[:,np.array(score_select)]   #Sélection de colonne à l'aide d'un tableau logique

◆Subsetting Sélection partielle de données basée sur des déclarations conditionnelles

subsetting.py


##Notation par défaut de Python
##Trame de données[Mettre un tableau de booléen]
df_sample[df_sample.day_no == "day1"]  # day_Sélectionnez uniquement les données dont aucune colonne n'est day1
series_bool = [True,False,True,False,True,False]
df_sample[series_bool] #Bien sûr, vous pouvez utiliser d'autres que les colonnes du bloc de données lui-même comme conditions
 
 
##Notation lors de l'utilisation de la méthode de requête Pandas
df_sample.query("day_no == 'day1'")  
     #Nettoyer car vous n'avez pas besoin d'écrire deux fois le nom du bloc de données
     #Notez que l'expression conditionnelle doit être saisie au format Str
 
df_sample.query("day_no == 'day1'|day_no == 'day2'")
     #En cas de conditions ou conditions multiples"|"Ou et de la condition"&"Je vais le mettre entre
 
select_condition = "day1"
df_sample.query("day_no == select_condition")  # ☓ doesn't work
        #Étant donné que l'expression conditionnelle pour l'extraction est la notation str, elle ne répond pas si vous entrez directement le nom de la variable.
 
df_sample.query("day_no == @select_condition")  # ◯ it works
        #Si vous souhaitez utiliser une variable, mettez-la dans le nom de la variable@Si vous ajoutez, il sera reconnu comme un nom de variable
 
 
##Sous-ensemble à l'aide de l'index
df_sample.query("index == 11 ")  #Si vous écrivez l'index normalement, cela fonctionnera
df_sample.query("index  in [11,12] ") #"In" peut également être utilisé pour la condition or

◆Sorting Trie les données.

sorting.py


df_sample.sort("score1")  #Trier par valeur Score1 dans l'ordre croissant
df_sample.sort(["score1","score2"])  #Trier par ordre croissant par valeurs Score1 et Score2
 
 
df_sample.sort("score1",ascending=False)  #Trier par ordre décroissant selon la valeur de score1

◆pandas.concat Ajoutez des enregistrements et des colonnes en combinant des données.

concat.py


 
#Ajouter une ligne
#Créez les données que vous souhaitez ajouter. Pensez à combiner des trames de données.
#df_Supposons que vous souhaitiez ajouter un enregistrement avec l'index "17" à l'échantillon.
 
df_addition_row =\
    pd.DataFrame([["day1","A",100,180]])  #df_Créer un DF avec la même structure de colonne que l'exemple
df_addition_row.columns =["day_no","class","score1","score2"]  #Donnez le même nom de colonne
df_addition_row.index   =[17] #Secouez l'index
 
pd.concat([df_sample,df_addition_row],axis=0)  #Faire une jointure=rbind
        #Premier argument: DF à combiner[]Spécifiez par notation.
      #Deuxième argument: Axe=0 indique qu'il s'agit d'une jointure verticale.
 
 
#Ajouter une colonne
#Pensez à ajouter une colonne Score3 en plus de Score1 et Score2.
#Créez les données que vous souhaitez ajouter. Pensez à combiner des trames de données.
 
df_addition_col =\
    pd.DataFrame([[120,160,100,180,110,80]]).T #df_Créer un DF avec le même nombre de lignes que l'échantillon
 
df_addition_col.columns =["score3"] #Les noms de colonne sont utilisés tels quels après la jointure
df_addition_col.index   = [11,12,13,14,15,16] 
         #Mise en garde! !! pandas.concat ne fonctionnera pas comme prévu à moins que les index des jointures aient la même structure! (Voir ci-dessous)
 
 
pd.concat([df_sample,df_addition_col],axis=1) #axis=1 spécifie une jointure horizontale.
 
 
#À propos de l'index
#Si l'index des nouvelles données est différent de la destination, les données seront jointes de manière échelonnée.
#S'il vous plaît essayez ce qui suit
 
df_addition_col =\
    pd.DataFrame([[120,160,100,180,110,80]]).T
 
df_addition_col.columns =["score3"]
df_addition_col.index   = [11,12,13,21,22,23]   #Certains ont le même index que les données d'origine, mais d'autres pas
 
 
pd.concat([df_sample,df_addition_col],axis=1)  #Le résultat est....

◆Joining Combine deux données basées sur une certaine clé.

join.py


##En cours de création

Continuez vers la seconde moitié

◆ Résumé de base des opérations de données avec Python Pandas - Deuxième moitié: agrégation de données http://qiita.com/hik0107/items/0ae69131e5317b62c3b7

Recommended Posts

Résumé de base de la manipulation de données avec Python Pandas - Première moitié: création et manipulation de données
Résumé de base des opérations de données dans Python Pandas - Deuxième moitié: agrégation de données
Résumé du flux de base de l'apprentissage automatique avec Python
Etude de base d'OpenCV avec Python
Recommandation d'Altair! Visualisation des données avec Python
Faisons la manipulation des données MySQL avec Python
[Python] Résumé des opérations sur les fichiers S3 avec boto3
Analyse des données de pratique Python Résumé de l'apprentissage que j'ai atteint environ 10 avec 100 coups
Résumé de la lecture des données numériques avec python [CSV, NetCDF, Fortran binary]
Ce que vous voulez mémoriser avec la grammaire de base de "manipulation de chaînes" de python
Analyse de données avec python 2
Connaissance de base de Python
Résumé des arguments Python
Analyse de données avec Python
Résumé des outils nécessaires pour analyser les données en Python
Récapitulatif des outils d'exploitation de l'interface graphique Windows avec Python
Défiez l'analyse des composants principaux des données textuelles avec Python
Récapitulatif des méthodes Pandas utilisées lors de l'extraction de données [Python]
[Bases de la science des données] Collecte de données depuis RSS avec python
Exemple de données créées avec python
Résumé des opérations de liste Python3
Analyse de squelette planaire avec Python (3) Création d'un diagramme de force en coupe
Authentification BASIC avec bouteille Python
Obtenez des données Youtube avec python
Remarques sur la gestion de grandes quantités de données avec python + pandas
J'ai écrit la grammaire de base de Python dans Jupyter Lab
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Débarrassez-vous des données sales avec Python et les expressions régulières
L'histoire du rubyiste aux prises avec Python :: Dict data with pycall
[Homologie] Comptez le nombre de trous dans les données avec Python
Mémo récapitulatif des types de données Python
Résumé Xpath lors de l'extraction de données d'un site Web avec Python Scrapy
Implémentez la normalisation du prétraitement des données d'entraînement Python avec scikit-learn [fit_transform]
Manipulation d'expressions régulières par Python
Résumé de l'utilisation de base de Pandas
[Python] [SQLite3] Exploiter SQLite avec Python (basique)
Utilisation basique de la f-string Python
Lire des données json avec python
Exercice pratique d'analyse de données avec Python ~ 2016 New Coder Survey Edition ~
Informations sur la carte de base à l'aide de la conversion Geotiff Python des données numériques d'élévation
Manipulation des pixels d'image en Python
Résumé des connaissances de base de PyPy Partie 1
Scraping avec Selenium en Python (Basic)
Résumé de l'implémentation de base par PyTorch
Un bref résumé de la collection Python
[Python] Obtenez des données économiques avec DataReader
Premiers pas avec Python Bases de Python
Structure de données Python apprise avec la chimioinfomatique
Jeu de vie avec Python! (Le jeu de la vie de Conway)
1. Statistiques apprises avec Python 1-1. Statistiques de base (Pandas)
Grammaire de base du système Python3 (dictionnaire)
Visualisez facilement vos données avec Python seaborn.
Implémentation de la méthode Dyxtra par python
Traiter les données Pubmed .xml avec python
Analyse de données à partir de python (visualisation de données 1)
Coexistence de Python2 et 3 avec CircleCI (1.0)
Analyse de données à partir de python (visualisation de données 2)
Résumé des index et des tranches Python
Application de Python: Nettoyage des données Partie 2: Nettoyage des données à l'aide de DataFrame