Grundlegende Zusammenfassung der Datenoperationen mit Python Pandas - Erste Hälfte: Datenerstellung und -operationen

Einführung

So bearbeiten Sie Daten in Pandas, was für die Datenanalyse in Python unverzichtbar ist Ich habe die Grundlagen zusammengefasst.

Aus wichtigen Grammatiken, die Sie einfach vergessen haben, haben wir einige Tipps beigefügt.

Empfohlen für solche Leute → Ich möchte Pandas zum ersten Mal berühren! → Versuchen Sie, R auch in Python zu verwenden. → Ich kann mich nicht an die Grammatik von Pandas erinnern - es wäre praktisch, wenn es irgendwo eine Liste gäbe ... → Wie viel Datenverarbeitung kann mit Python überhaupt durchgeführt werden?

Bitte passen Sie auch dazu ◆ Datenmanipulation mit Pandas: Verwenden Sie Pandas_ply http://qiita.com/hik0107/items/3dd260d9939a5e61c4f6

Lassen Sie uns Daten erstellen

Importieren Sie zunächst Pandas und erstellen Sie Daten im entsprechenden Datenrahmenformat

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  #Erstellen Sie vorerst entsprechende Daten
 
df_sample.columns = ["day_no","class","score1","score2"]  #Geben Sie einen Spaltennamen an
df_sample.index   = [11,12,13,14,15,16]  #Geben Sie einen Indexnamen an

◆Column / Index Access Greifen Sie auf bestimmte Spalten und Indexnummern zu

col_index_access.py


 
df_sample.columns   #Spaltennamen abrufen
df_sample.index     #Indexnamen abrufen
 
 
df_sample.columns = ["day_no","class","point1","point2"]   #Spaltennamen überschreiben
df_sample.index   = [11,12,13,14,15,16]   #Indexnamen überschreiben
 
 
#Verwenden Sie die Umbenennungsmethode
df_sample.rename(columns={'score1': 'point1'})  #Ich werde die Korrespondenz in einen Wörterbuchtyp einfügen

◆ Überprüfen Sie die Datenstruktur

Schauen Sie sich die Datenübersicht an

datacheck.py


#Überprüfen Sie die Anzahl der Zeilen
len(df_sample)
 
#Bestätigung der Anzahl der Dimensionen
df_sample.shape #Rückgabe in Form von (Anzahl der Zeilen, Anzahl der Spalten)
 
#Liste der Spalteninformationen
df_sample.info() #Liste der Spaltennamen und ihrer Typen
 
#Bestätigung der Basisstatistik für jede Spalte
#Zusammenfassung in R.()
df_sample.describe() #Mittelwert, Streuung, Quadrant usw.
 
# head / tail
df_sample.head(10) #Überprüfen Sie die ersten 10 Zeilen
df_sample.tail(10) #Überprüfen Sie die ersten 10 Zeilen

Spielen wir mit den Daten

Wählen Sie nur bestimmte Spalten aus den Daten aus

datacheck.py


#Eingebaute Funktionen__get_item___Auswahl mit
df_sample["day_no"] #Schreiben Sie den Spaltennamen und geben Sie ihn an
df_sample[["day_no","score1"]]# Verwenden Sie die Listennotation, wenn Sie mehrere Spalten auswählen
 
#Spaltenauswahl mit loc
#Grammatik: iloc[rows, columns]Schreiben Sie in Form von
#Sie können nicht nur Spalten, sondern auch Zeilen gleichzeitig unterteilen
df_sample.loc[:,"day_no"]  #Die Zeile lautet "Alle auswählen":"Wird gestellt.
df_sample.loc[:,["day_no","score1"]]# Verwenden Sie die Listennotation, wenn Sie mehrere Spalten auswählen
         
#Spaltenauswahl mit iloc
#Grammatik: iloc[Zeilennummer,Spaltennummer]Schreiben Sie in Form von
df_sample.iloc[:,0]  #Wählen Sie nach Nummer
df_sample.iloc[:,0:2] #Bei mehreren Seriennummern. Sie können auch in Listennotation gehen
 
 
#Spaltenauswahl mit ix
#Es können sowohl Spaltennamen als auch Spaltennummern verwendet werden. Grundsätzlich fühlt es sich gut an, dies zu verwenden
df_sample.ix[:,"day_no"] #Bei Auswahl einer einzelnen Spalte ist das Ergebnis Pandas.Series Object
df_sample.ix[:,["day_no","score1"]] #Bei Auswahl mehrerer Spalten ist das Ergebnis Pandas.Werden Sie ein Datenrahmen
 
df_sample.ix[0:4,"score1"] #Zeilen können nach Nummer und Spalten nach Spaltenname ausgewählt werden
 
 
series_bool = [True,False,True,False]
df_sample.ix[:,series_bool]  #Sie können auch ein Boolesches Array auswählen
 
 
#Auswahl durch teilweise Übereinstimmung des Spaltennamens
#Wählen Sie für R Dplyr(Contains()), Ein praktisches Schema für die teilweise Übereinstimmungsauswahl von Spaltennamen
#Pandas haben diese Funktion nicht, daher müssen Sie einige Schritte ausführen.
 
score_select = pd.Series(df_sample.columns).str.contains("score") # "score"Logische Beurteilung, ob in den Spaltennamen aufgenommen werden soll
df_sample.ix[:,np.array(score_select)]   #Spaltenauswahl mit logischem Array

◆Subsetting Teilauswahl von Daten basierend auf bedingten Anweisungen

subsetting.py


##Python-Standardnotation
##Datenrahmen[Setzen Sie ein Array von Boolean]
df_sample[df_sample.day_no == "day1"]  # day_Wählen Sie nur Daten aus, deren keine Spalte Tag1 ist
series_bool = [True,False,True,False,True,False]
df_sample[series_bool] #Natürlich können Sie andere als die Spalten des Datenrahmens selbst als Bedingungen verwenden
 
 
##Notation bei Verwendung der Pandas-Abfragemethode
df_sample.query("day_no == 'day1'")  
     #Bereinigen, da Sie den Datenrahmennamen nicht zweimal schreiben müssen
     #Beachten Sie, dass der bedingte Ausdruck im Str-Format eingegeben werden muss
 
df_sample.query("day_no == 'day1'|day_no == 'day2'")
     #Bei mehreren Bedingungen oder Bedingungen"|"Oder und von der Bedingung"&"Ich werde es dazwischen legen
 
select_condition = "day1"
df_sample.query("day_no == select_condition")  # ☓ doesn't work
        #Da der bedingte Ausdruck für die Extraktion die Str-Notation ist, reagiert er nicht, wenn Sie den Variablennamen direkt eingeben.
 
df_sample.query("day_no == @select_condition")  # ◯ it works
        #Wenn Sie eine Variable verwenden möchten, geben Sie sie in den Variablennamen ein@Wenn Sie hinzufügen, wird es als Variablenname erkannt
 
 
##Teilmenge mit Index
df_sample.query("index == 11 ")  #Wenn Sie den Index normal schreiben, funktioniert er
df_sample.query("index  in [11,12] ") #"In" kann auch für die Bedingung oder verwendet werden

◆Sorting Sortiert die Daten.

sorting.py


df_sample.sort("score1")  #Nach Score1-Wert in aufsteigender Reihenfolge sortieren
df_sample.sort(["score1","score2"])  #Sortieren Sie in aufsteigender Reihenfolge nach Score1- und Score2-Werten
 
 
df_sample.sort("score1",ascending=False)  #Sortieren Sie in absteigender Reihenfolge nach dem Wert von score1

◆pandas.concat Fügen Sie Datensätze und Spalten hinzu, indem Sie Daten kombinieren.

concat.py


 
#Zeile hinzufügen
#Erstellen Sie die Daten, die Sie hinzufügen möchten. Ziehen Sie in Betracht, Datenrahmen zu kombinieren.
#df_Angenommen, Sie möchten dem Sample einen Datensatz mit dem Index "17" hinzufügen.
 
df_addition_row =\
    pd.DataFrame([["day1","A",100,180]])  #df_Erstellen Sie einen DF mit derselben Spaltenstruktur wie das Beispiel
df_addition_row.columns =["day_no","class","score1","score2"]  #Geben Sie den gleichen Spaltennamen an
df_addition_row.index   =[17] #Schütteln Sie den Index
 
pd.concat([df_sample,df_addition_row],axis=0)  #Machen Sie einen Join=rbind
        #Erstes Argument: DF zu kombinieren[]Angabe durch Notation.
      #Zweites Argument: Achse=0 gibt an, dass es sich um eine vertikale Verknüpfung handelt.
 
 
#Spalte hinzufügen
#Erwägen Sie, zusätzlich zu Score1 und Score2 eine Score3-Spalte hinzuzufügen.
#Erstellen Sie die Daten, die Sie hinzufügen möchten. Ziehen Sie in Betracht, Datenrahmen zu kombinieren.
 
df_addition_col =\
    pd.DataFrame([[120,160,100,180,110,80]]).T #df_Erstellen Sie einen DF mit der gleichen Anzahl von Zeilen wie das Beispiel
 
df_addition_col.columns =["score3"] #Spaltennamen werden wie nach dem Beitritt verwendet
df_addition_col.index   = [11,12,13,14,15,16] 
         #Hinweis! !! Pandas.concat funktioniert nicht wie erwartet, es sei denn, die Indizes der Joins haben dieselbe Struktur! (Siehe unten)
 
 
pd.concat([df_sample,df_addition_col],axis=1) #axis=1 gibt eine horizontale Verknüpfung an.
 
 
#Über den Index
#Wenn sich der Index der neuen Daten von dem Ort unterscheidet, an dem sie zusammengefügt wurden, werden die Daten gestaffelt zusammengefügt.
#Bitte versuche folgendes
 
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]   #Einige haben den gleichen Index wie die Originaldaten, andere nicht
 
 
pd.concat([df_sample,df_addition_col],axis=1)  #Ergebnis ist....

◆Joining Kombiniert zwei Daten basierend auf einem bestimmten Schlüssel.

join.py


##Im Schöpfungsprozess

Weiter zur zweiten Hälfte

◆ Grundlegende Zusammenfassung der Datenoperationen mit Python Pandas - Zweite Hälfte: Datenaggregation http://qiita.com/hik0107/items/0ae69131e5317b62c3b7

Recommended Posts

Grundlegende Zusammenfassung der Datenoperationen mit Python Pandas - Erste Hälfte: Datenerstellung und -operationen
Grundlegende Zusammenfassung der Datenoperationen in Python Pandas - Zweite Hälfte: Datenaggregation
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Grundlegendes Studium von OpenCV mit Python
Empfehlung von Altair! Datenvisualisierung mit Python
Lassen Sie uns MySQL-Daten mit Python bearbeiten
[Python] Zusammenfassung der S3-Dateivorgänge mit boto3
Python-Übungsdatenanalyse Zusammenfassung des Lernens, dass ich ungefähr 10 mit 100 Schlägen getroffen habe
Zusammenfassung zum Lesen numerischer Daten mit Python [CSV, NetCDF, Fortran Binary]
Was Sie sich mit der grundlegenden Grammatik "String Manipulation" von Python merken möchten
Datenanalyse mit Python 2
Grundkenntnisse in Python
Zusammenfassung der Python-Argumente
Datenanalyse mit Python
Zusammenfassung der Tools, die zum Analysieren von Daten in Python benötigt werden
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
Fordern Sie die Hauptkomponentenanalyse von Textdaten mit Python heraus
Zusammenfassung der beim Extrahieren von Daten verwendeten Pandas-Methoden [Python]
[Grundlagen der Datenwissenschaft] Sammeln von Daten aus RSS mit Python
Mit Python erstellte Beispieldaten
Zusammenfassung der Python3-Listenoperationen
Planare Skelettanalyse mit Python (3) Erstellung eines Querschnittskraftdiagramms
BASIC-Authentifizierung mit Python-Flasche
Holen Sie sich Youtube-Daten mit Python
Hinweise zum Umgang mit großen Datenmengen mit Python + Pandas
Ich habe die grundlegende Grammatik von Python in Jupyter Lab geschrieben
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Die Geschichte eines Rubinisten, der mit Python :: Dict-Daten mit Pycall kämpft
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Python-Datentyp-Zusammenfassungsnotiz
Xpath-Zusammenfassung beim Extrahieren von Daten von einer Website mit Python Scrapy
Implementieren Sie die Normalisierung der Vorverarbeitung von Python-Trainingsdaten mit scicit-learn [fit_transform].
Manipulation regulärer Ausdrücke durch Python
Zusammenfassung der grundlegenden Verwendung von Pandas
[Python] [SQLite3] Betreiben Sie SQLite mit Python (Basic)
Grundlegende Verwendung von Python-F-String
Lesen von JSON-Daten mit Python
Praktische Übung zur Datenanalyse mit Python ~ 2016 New Coder Survey Edition ~
Basiskarteninformationen mithilfe der Python-Geotiff-Konvertierung numerischer Höhendaten
Bildpixel-Manipulation in Python
Zusammenfassung der Grundkenntnisse von PyPy Teil 1
Scraping mit Selen in Python (Basic)
Zusammenfassung der grundlegenden Implementierung von PyTorch
Eine kurze Zusammenfassung der Python-Sammlung
[Python] Mit DataReader Wirtschaftsdaten abrufen
Erste Schritte mit Python Grundlagen von Python
Python-Datenstruktur mit Chemoinfomatik gelernt
Lebensspiel mit Python! (Conways Spiel des Lebens)
1. Mit Python 1-1 gelernte Statistiken. Grundlegende Statistiken (Pandas)
Grundlegende Grammatik des Python3-Systems (Wörterbuch)
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Implementierung der Dyxtra-Methode durch Python
Verarbeiten Sie Pubmed .xml-Daten mit Python
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Zusammenfassung der Python-Indizes und -Slices
Anwendung von Python: Datenbereinigung Teil 2: Datenbereinigung mit DataFrame