[PYTHON] Memorandum (Namen nur Personen mit demselben Nachnamen in der Liste hinzufügen)

Ein Worttagebuch: In diesen Tagen gehen die Tage des Kampfes gegen Gott Excel weiter.

Gegenstand

No. Name Alter
1 Taro Tanaka 33
2 Suzuki Jiro 22
3 Saburo Tanaka 11

Es ist nichts Falsches daran, die obige Tabelle als Daten zu behandeln. Bei der Ausgabe wird die Anforderung "Bitte tun Sie, wie in der folgenden Tabelle gezeigt" angezeigt.

No. Name Alter
1 Tanaka (dick) 33
2 Suzuki 22
3 Tanaka (3) 11

Überraschenderweise konnte ich keine Seite finden, die diese Verarbeitung selbst ausführt, daher werde ich das Implementierungsergebnis veröffentlichen.

Implementierung

PRG


dataframe_raw = pd.read_excel("Dienstplan.xlsx")
df=dataframe_raw["Name"].str.split(' ',expand=True)
#In diesem Fall wurde der Name durch den Raum voller Breite geteilt, also teilen Sie ihn in zwei Spalten.

Wenn Sie durch Teilen teilen, wird dataframe_process wie in der folgenden Tabelle gezeigt angezeigt. Suchen Sie daher von hier aus nach doppelten Nachnamen. Wenn Duplikate vorhanden sind, wird eine spezielle Verarbeitung verwendet. Wenn nicht, wird der Nachname unverändert verwendet.

0 1
Tanaka Taro
Suzuki Jiro
Tanaka Saburo

python


df["Name"]=""
 #Fügen Sie die Speicherspalte zur dritten Spalte hinzu

for i in range(0,len(df)):
 #i bis 0~Schleife auf die Länge des Dienstplans
  NAME = df.at[i,0]
  check_count=(df[0]==NAME).sum()
 #Zählen Sie, wie viele Zeichenfolgen in der 0. Spalte der i-ten Zeile gespeichert sind (wenn es 2 oder mehr sind, gibt es eine Person mit demselben Nachnamen).
  if check_count>=2:
    df.at[i,"Name"]=df.at[i,0]+"("+df.at[i,1][0]+")"
 #Wenn es Duplikate gibt, die Zeichenfolge in der 0. Spalte +("0. Zeichen der Zeichenfolge der 1. Spalte")Ersatz
  else :
    df.at[i,"Name"]=df.at[i,0]
 #Wenn keine Duplizierung vorliegt, wird die Zeichenfolge in der 0. Spalte der i-ten Zeile + angezeigt(0. Zeichen der Zeichenfolge in der 1. Spalte der i-Zeile)Ersatz

Bei diesem Vorgang sieht der Datenrahmen wie in der folgenden Tabelle gezeigt aus, sodass Sie ihn verwenden können, indem Sie die Namensspalten ersetzen oder kombinieren.

0 1 Name
Tanaka Taro Tanaka (dick)
Suzuki Jiro Suzuki
Tanaka Saburo Tanaka (3)

Am Ende

Ich finde es relativ sauber, aber ich habe Angst, was zu tun ist, wenn eine Liste mit demselben Nachnamen und demselben Namen angezeigt wird.

Recommended Posts

Memorandum (Namen nur Personen mit demselben Nachnamen in der Liste hinzufügen)
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Laden Sie das gleichnamige Modul an einer anderen Stelle
Fügen Sie in Jupyter IPerl zum Kernel hinzu.
Melden Sie sich mit SSH bei einem Remote-Server an
Mathematik-Memorandum, um mit dem Feld Nr. 4 Schritt zu halten
Ein Memorandum, um WebDAV nur mit Nginx zu erstellen
Extrahieren Sie nur den Dateinamen mit Ausnahme des Verzeichnisses im Verzeichnis
(Hinweis) Importieren von Excel mit demselben Spaltennamen
Holen Sie sich nur Unterklassenelemente in eine Liste
Erkennen Sie Ordner mit demselben Bild in ImageHash
Mathematik-Memorandum, um mit dem Feld Nr. 1 Schritt zu halten
Mathematik-Memorandum, um mit dem Feld Nr. 2 Schritt zu halten
Mathematik-Memorandum, um mit dem Feld Nr. 3 Schritt zu halten
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
Ich möchte nur Pods mit dem angegebenen Label mit Label Selector in Client-go extrahieren
Wenn eine lokale Variable mit demselben Namen wie die globale Variable in der Funktion definiert ist
So erhalten Sie den Variablennamen selbst in Python
Fügen Sie mit Matplotlib Informationen am unteren Rand der Abbildung hinzu
Fügen Sie einfach den Treiber mit dem Mixer zum Formschlüssel hinzu
Konvertieren Sie das Bild in .zip mit Python in PDF
Lesen Sie die Linkliste im CSV-Format mit dem Graph-Tool
[Python] So geben Sie Listenwerte der Reihe nach aus
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Stellen Sie sicher, dass alle Elemente in der Liste in Python identisch sind
Wenn der Variablenname mit dem Devaga-Befehl in pdb in Konflikt steht
Ein Memorandum zur Registrierung der in Hy in PyPI geschriebenen Bibliothek
Greifen Sie auf das Feld C-Struktur mit dem in Go reservierten Namen zu.
So manipulieren Sie das DOM im Iframe mit Selen
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
Die übliche Art, einen Kernel mit Jupyter Notebook hinzuzufügen
Ich möchte den Wörterbuchtyp in der Liste eindeutig machen
Versuchen Sie, die verstümmelten Zeichen im angehängten Dateinamen mit Python zu entschlüsseln
Ein Befehl zum Auflisten aller Dateien in der Reihenfolge des Dateinamens
In der Liste verfügbare Methoden
Geben Sie die in S3 Bucket enthaltene Schlüsselliste in eine Datei aus
Ich habe versucht, den Datenverkehr mit WebSocket in Echtzeit zu beschreiben
Das Hinzufügen ist schneller als das Hinzufügen und Erweitern der Liste, oder?
Benennen Sie den Knoten mit demselben Namen, der während der Arbeit gefunden wurde, automatisch um
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Ich möchte die zweite Zeile zum Spaltennamen in Pandas machen
Menschen merken sich gelerntes Wissen im Gehirn, wie man gelerntes Wissen im maschinellen Lernen auswendig lernt
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
[Abgeschlossene Version] Versuchen Sie, die Anzahl der Einwohner der Stadt anhand der Adressliste mit Python herauszufinden