[PYTHON] Zusammenführen von Datensätzen mit Pandas

Neueste Version von Pandas 0.14.0

pip install --upgrade pandas 

import pandas as pd

#Holen Sie sich die neuesten 100 Wifi-Verbindungen im 1. Stock
wifi = pd.read_json('http://house-api-project.org/api/shibuhouse/wifi/clients?limit=100house-api-project.org/api/shibuhouse/wifi/1f/clients?limit=100')

#Holen Sie sich die neuesten 100 1F Temperaturen
temp = pd.read_json('http://house-api-project.org/api/shibuhouse/1f/temperature?limit=100')

print( wifi.head(5) )
#=>
#                                       _id  clients                     time
#  0   {'$oid': '538c3799c3ca7c08531d645e'}       21  2014-06-02 08:36:36 UTC
#  1   {'$oid': '538c3760c3ca7c08531d6454'}       21  2014-06-02 08:35:37 UTC
#  2   {'$oid': '538c371fc3ca7c08531d6445'}       21  2014-06-02 08:34:36 UTC
#  3   {'$oid': '538c36e4c3ca7c08531d643b'}       21  2014-06-02 08:33:37 UTC
#  4   {'$oid': '538c36a7c3ca7c08531d642f'}       21  2014-06-02 08:32:36 UTC

print( temp.head(5) )
#=>
#                                       _id  temperature                     time
#  0   {'$oid': '538c37cac3ca7c08531d6465'}       34.000  2014-06-02 08:37:29 UTC
#  1   {'$oid': '538c378dc3ca7c08531d6459'}       34.000  2014-06-02 08:36:29 UTC
#  2   {'$oid': '538c3752c3ca7c08531d644d'}       34.000  2014-06-02 08:35:29 UTC
#  3   {'$oid': '538c3715c3ca7c08531d6442'}       34.000  2014-06-02 08:34:29 UTC
#  4   {'$oid': '538c36dbc3ca7c08531d6437'}       34.000  2014-06-02 08:33:30 UTC

#Führen Sie zwei Datensätze nach Index zusammen
merged = pd.merge(wifi, temp, left_index=True, right_index=True)

Verschiedene Optionen zum Zusammenführen

Die häufig verwendeten Argumente sind in der folgenden Tabelle aufgeführt.

Streit Erläuterung
left Nach links zusammenführen
right Nach rechts zusammenführen
how Wie man beitritt(inner, outer, left, right)
on Wenn Sie den Spaltennamen, der zum Zusammenführen verwendet werden soll, explizit angeben möchten
left_on/right_on Alias als Join-Schlüssel verwendet
left_index/right_index Wenn Sie nach Index zusammenführen möchten

Dataset-Verkettung

Die Concat-Funktion verkettet Datensätze. Es ähnelt dem Zusammenführen und Verwirren, aber es ist am besten, die Dokumentation zu lesen, um weitere Details zu erhalten.

Merge, join, and concatenate http://pandas.pydata.org/pandas-docs/stable/merging.html

Im vorherigen JSON-API-Beispiel sieht es so aus.

concat = pd.concat([wifi, temp], ignore_index=True, axis=1)

concat.head(10)
#=>
#                                        0   1                        2  \
#  0  {'$oid': '538c4081c3ca7c08531d6616'}  20  2014-06-02 09:14:37 UTC   
#  1  {'$oid': '538c4045c3ca7c08531d660a'}  20  2014-06-02 09:13:37 UTC   
#  2  {'$oid': '538c4005c3ca7c08531d65fb'}  20  2014-06-02 09:12:37 UTC   
#  3  {'$oid': '538c3fcac3ca7c08531d65ef'}  20  2014-06-02 09:11:37 UTC   
#  4  {'$oid': '538c3f8ec3ca7c08531d65e4'}  20  2014-06-02 09:10:36 UTC   
#  5  {'$oid': '538c3f51c3ca7c08531d65d8'}  20  2014-06-02 09:09:36 UTC   
#  6  {'$oid': '538c3f17c3ca7c08531d65cf'}  20  2014-06-02 09:08:36 UTC   
#  7  {'$oid': '538c3edbc3ca7c08531d65c2'}  20  2014-06-02 09:07:37 UTC   
#  8  {'$oid': '538c3ea1c3ca7c08531d65b9'}  20  2014-06-02 09:06:36 UTC   
#  9  {'$oid': '538c3e61c3ca7c08531d65a8'}  22  2014-06-02 09:05:37 UTC   

#                                        3       4                        5  
#  0  {'$oid': '538c4077c3ca7c08531d6611'}  34.125  2014-06-02 09:14:30 UTC  
#  1  {'$oid': '538c403ac3ca7c08531d6606'}  34.125  2014-06-02 09:13:30 UTC  
#  2  {'$oid': '538c3fffc3ca7c08531d65fa'}  34.125  2014-06-02 09:12:30 UTC  
#  3  {'$oid': '538c3fc4c3ca7c08531d65ee'}  34.125  2014-06-02 09:11:31 UTC  
#  4  {'$oid': '538c3f86c3ca7c08531d65e2'}  34.125  2014-06-02 09:10:29 UTC  
#  5  {'$oid': '538c3f49c3ca7c08531d65d7'}  34.125  2014-06-02 09:09:29 UTC  
#  6  {'$oid': '538c3f0ec3ca7c08531d65cb'}  34.125  2014-06-02 09:08:29 UTC  
#  7  {'$oid': '538c3ed1c3ca7c08531d65bf'}  34.125  2014-06-02 09:07:29 UTC  
#  8  {'$oid': '538c3e96c3ca7c08531d65b3'}  34.125  2014-06-02 09:06:29 UTC  
#  9  {'$oid': '538c3e5bc3ca7c08531d65a7'}  34.125  2014-06-02 09:05:30 UTC  

Verschiedene Optionen für die Verkettung

Die häufig verwendeten Argumente sind in der folgenden Tabelle aufgeführt.

Streit Erläuterung
objs Geben Sie das Pandas-Objekt an, das mit einer Liste usw. verknüpft werden soll.
axis Zeile oder Spalte
join innen oder außen, die Standardeinstellung ist außen
keys Mit verketteten Datensätzen verknüpfte Werte
ignore_index Generieren Sie einen neuen Index getrennt von der zu verbindenden Achse

Zusammenfassung

Wir haben festgestellt, dass Pandas das Zusammenführen und Verketten externer Datensätze vereinfacht. Wenn Sie beispielsweise von hier aus zeichnen, können Sie die Möglichkeiten verschiedener Analysen sehen, z. B. das Zeichnen eines Streudiagramms und das Untersuchen der Korrelation.

Recommended Posts

Zusammenführen von Datensätzen mit Pandas
Datensätze mit Pandas verarbeiten (1)
Datensätze mit Pandas verarbeiten (2)
Versuchen Sie schnell, Ihren Datensatz mit Pandas zu visualisieren
Mit Pandas schnell visualisieren
Bootstrap-Sampling mit Pandas
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Pandas lernen mit Chemoinfomatik
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Daten mit Pandas mischen
Lesen Sie CSV mit Python-Pandas
Laden Sie verschachtelten Json mit Pandas
[Python] Ändere den Typ mit Pandas
Standardisieren Sie nach Gruppen mit Pandas
Verhindern Sie Auslassungen mit Pandas Print
Datenverarbeitungstipps mit Pandas
Pandas
Vielseitige Datenerfassung mit Pandas + Matplotlib
[Python] Verbinde zwei Tabellen mit Pandas
Extrahieren Sie bestimmte mehrere Spalten mit Pandas
1. Mit Python 1-1 gelernte Statistiken. Grundlegende Statistiken (Pandas)
Bequeme Analyse mit Pandas + Jupyter Notebook
Zeichnen Sie ein Diagramm mit Pandas + XlsxWriter
Bearbeiten von Strings mit Pandas gruppieren nach
Bulk Insert Pandas DataFrame mit psycopg2
Ich möchte ○○ mit Pandas machen
Erstellen Sie eine Altersgruppe mit Pandas
Führen Sie Daten im JSON-Format mit Ansible zusammen
Klassifizieren von SNLI-Datasets mit Word2Vec + LSTM
[Python] Format, wenn to_csv mit Pandas
Feature-Generierung mit Pandas gruppieren nach
Behandelt verschiedene Datumsformate mit Pandas
Ich erhalte eine Fehlermeldung beim Import von Pandas.
Laden Sie csv mit doppelten Spalten in Pandas
Tipps zum Zeichnen mehrerer Linien mit Pandas
Versuchen Sie, mit Pandas in ordentliche Daten umzuwandeln
Zeichnen Sie eine hierarchische Achsenbeschriftung mit matplotlib + pandas
Ersetzen Sie Spaltennamen / -werte durch Pandas-Datenrahmen
[Easy Python] Lesen von Excel-Dateien mit Pandas
Laden Sie csv mit Pandas und spielen Sie mit Index
Behandeln Sie 3D-Datenstrukturen mit Pandas
Lesen Sie CSV und analysieren Sie mit Pandas und Seaborn
Beispiel für eine effiziente Datenverarbeitung mit PANDAS
Best Practices für den Umgang mit Daten mit Pandas
[Pandas 1.0.1 Memorial] Heftiger Kampfrekord mit Kochbuch