Verbinden Sie Daten mit dem Hauptschlüssel (erforderlich) und dem Unterschlüssel (optional) in Python-Pandas

Verbinden Sie Daten mit dem Hauptschlüssel (erforderlich) und dem Unterschlüssel (optional) in Python-Pandas

Überblick

Vor Treten Sie dem von Python-Pandas normalisierten CSV bei und verarbeiten Sie es zur einfachen Bestätigung

Ich habe den Artikel vorgestellt. Im praktischen Gebrauch

Ich war ziemlich süchtig nach den folgenden Daten Ich werde es posten.

Ich bin sicher, es gibt einen klügeren Weg, Sobald der Zweck erreicht wurde.

Angenommen, Sie haben die folgenden zwei Daten. jeder Hauptschlüssel (erforderlich) Unterschlüssel (optional) Es gibt.

Die Transaktionsdaten sind im Excel-Format und die Abkürzung für den Unterschlüssel lautet "". Es ist ein bestimmtes Leerzeichen vorhanden. Die Stammdaten liegen im CSV-Format vor, und die Unterschlüsselauslassungen werden ohne Leerzeichen gespeichert.

Wenn Sie es als RDBMS speichern und mit Trimmen verbinden, ist es ein Schuss. Realisierung nur mit Python

Nutzungsumgebung

Python 3.8.2 Visual Studio Code 1.45.0

Quellcode

Wie unten gezeigt, wird Excel zur Bestätigung verbunden und schließlich ausgegeben

subkey_join.py



#Verbinden Sie den Hauptschlüssel (erforderlich) und den Unterschlüssel (optional).

import pandas as pd
import re

def main():
    #Körperbearbeitung
    #Daten lesen
    new_acc_master = pd.read_csv(".\\subkey_join\\Meister.csv",encoding="cp932", dtype=str)
    value_trn = pd.read_excel(".\\subkey_join\\Transaktion.xlsx", dtype=str)
        
    #Löschen ohne Unterwert
    value_trn['Subcode'] = value_trn['Subcode'].str.strip()
    new_acc_master['Subcode'] = new_acc_master['Subcode'].str.strip()

    #Der nicht vollständige Wert von Tran wurde durch keinen Wert ersetzt. Daten mit einer leeren Quelle waren in Ordnung.
    value_trn.Subcode[value_trn.Subcode == ""] = "Kein Wert"
    print(type(value_trn))
    print(value_trn.dtypes)

    
    #☆☆ NG Ich habe versucht, dasselbe auf der Masterseite zu tun, aber es wird durch die folgende Logik nicht geändert
    #new_acc_masternew_acc_master.sub[new_acc_master.sub == ""] = "Kein Wert"
    
    #Master-Subcode ohne Unterwerte
    #new_acc_master = new_acc_master.replace('^$',{'Subcode':'Kein Wert'},regex=True)
    print(new_acc_master['Subcode'].dtype)
    
    #Geben Sie den Python-Zeichentyp astype an
    #Der Typ auf Pandas ändert sich nicht mit dem Objekt, aber wenn es keinen Wert gibt,"nan"Zu ändern
    new_acc_master['Subcode'] = new_acc_master['Subcode'].astype(str)
    print(new_acc_master['Subcode'].dtype)

    ##☆☆ Das ist in Ordnung. Ich denke, es gibt einen intelligenteren Weg. ..
    new_acc_master.Subcode[new_acc_master.Subcode == "nan"] = "Kein Wert"
    
    print(type(new_acc_master))
    print(new_acc_master.dtypes)
    
    #Linke Verbindung mit Haupt- und Unterschlüssel.
    jpin_pd = pd.merge(value_trn, new_acc_master, how="left", left_on=['Haupt code','Subcode'], right_on=['Haupt code','Subcode'],suffixes=('_trn','_new'))
    

    #Excel-Ausgabe
    jpin_pd.to_excel(".\\subkey_join\\view_data.xlsx")
    

if __name__ == '__main__': main()


Recommended Posts

Verbinden Sie Daten mit dem Hauptschlüssel (erforderlich) und dem Unterschlüssel (optional) in Python-Pandas
[Python] Verbinde zwei Tabellen mit Pandas
[Python3] Speichern Sie die Mittelwert- und Kovarianzmatrix in json mit Pandas
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Datenpipeline-Aufbau mit Python und Luigi
Versuchen Sie, mit Binärdaten in Python zu arbeiten
Umgang mit "Jahren und Monaten" in Python
Zeichnen Sie Daten einfach in Shell und Python
Behandeln Sie 3D-Datenstrukturen mit Pandas
Python-Variablen und Datentypen, die mit Chemoinfomatik gelernt wurden
Lesen Sie Python-CSV-Daten mit Pandas ⇒ Graph mit Matplotlib
Empfangen und Anzeigen von HTML-Formulardaten in Python
[Python] Vertauschen von Zeilen und Spalten mit Numpy-Daten
Lesen Sie Tabellendaten in einer PDF-Datei mit Python
Visualisieren Sie Daten interaktiv mit TreasureData, Pandas und Jupyter.
[Python] Japanische CSV mit Pandas ohne verstümmelte Zeichen lesen (weitere auf Japanisch geschriebene Spalten extrahieren)
Verarbeitung von CSV-Daten in voller und halber Breite in Python
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Verarbeiten Sie CSV-Daten mit Python (Zählverarbeitung mit Pandas)
Starten Sie die numerische Berechnung mit Python (mit Homebrew und Pip).
Untersuchen Sie den Java- und Python-Datenaustausch mit Apache Arrow
Datenanalyse mit Python 2
Tastenanschlag in Python
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Tastenanschlag in Python
Datenanalyse mit Python
Erstellen Sie mit Python einen Entscheidungsbaum aus 0 und verstehen Sie ihn (3. Datenanalysebibliothek Pandas Edition)
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Veriloggen und Cocotb werden nur zum Entwerfen und Testen von Verilog in Python verwendet.
Hinweise zum Umgang mit großen Datenmengen mit Python + Pandas
Einfallsreichtum beim speichersparenden Umgang mit Daten mit Pandas
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
[Python] Zeichnen Sie Pandas-Datenrahmen in Plotly mit Manschettenknöpfen
Löse das Spiralbuch (Algorithmus und Datenstruktur) mit Python!
[Python] Stärken und Schwächen von DataFrame in Bezug auf den Zeitaufwand
Vergleich der Datenrahmenbehandlung in Python (Pandas), R, Pig
Spielen Sie mit Mastodons Archiv in Python 2 Count Antworten und Favoriten
[Python] Zufällige Datenextraktion / -kombination aus DataFrame mit Random und Pandas
So erstellen Sie einen Datenrahmen und spielen mit Elementen mit Pandas
Data Science-Begleiter in Python, wie man Elemente in Pandas spezifiziert
Installieren Sie CaboCha in der Ubuntu-Umgebung und rufen Sie es mit Python auf.
Holen Sie sich zusätzliche Daten zu LDAP mit Python (Writer und Reader)
So melden Sie sich mit Python bei AtCoder an und senden automatisch
"Einführung in die Datenanalyse durch statistische Bayes'sche Modellierung beginnend mit R und Stan" in Python implementiert
Mit Python erstellte Beispieldaten
Programmieren mit Python und Tkinter
Behandeln Sie Umgebungsdaten in Python
Lesen Sie CSV mit Python-Pandas
Python und Hardware-Verwenden von RS232C mit Python-
Betreiben Sie LibreOffice mit Python
Schaben mit Chromedriver in Python
Zeigen Sie UTM-30LX-Daten in Python an
Holen Sie sich Youtube-Daten mit Python
Umgang mit Sounds in Python
Scraping mit Selen in Python
Wichtige Ergänzungen zu den Pandas 1.1.0 und 1.0.0
[Python] Ändere den Typ mit Pandas
Scraping mit Tor in Python
Kombiniert mit Ordnungszahl in Python
Python mit Pyenv und Venv