[PYTHON] Benutzerdefinierte IQ Bot-Logik: Geteilte Anwendung (Auf Tabelle anwenden, Fehlerkontrolle einschließen)

Die Grundlagen von Split, die von IQ Bot behandelt werden, werden in [diesem Artikel] beschrieben (https://qiita.com/IQ_Bocchi/items/127aa72bfaf2b2571190).

Das Obige berührt nur Teilungen für Felder, und die Logik enthält keine Fehlerkontrolle usw., daher werde ich sie hier etwas weiter einführen.

Logik zum Anwenden von Split auf eine Tabelle

Wenn es sich beispielsweise um ein Feld handelt, was passiert, wenn Sie die Logik, die field_value = field_value.split (" bank ") [0] definiert, auf das Feld anwenden?

Beim Anwenden eines Splits auf eine Tabelle



#Abstrahierte Funktionsdefinition
def func_split(value, splitter, index):

    x = value

    if splitter in value:
        y = x.split(splitter)

        if (len(x) + 1) >= index:
            x = y[index]
            
    return x

#Funktion anwenden
df['Spaltenname'] = df['Spaltenname'].apply(func_split, splitter="Bank", index=0)

Die obige "abstrahierte Funktion" enthält nicht nur eine einfache Aufteilung, sondern auch "ob die ursprüngliche Zeichenfolge überhaupt das Zeichen" Bank "enthält" und "den in der Liste der Aufteilungsergebnisse angegebenen Index". Dazu gehört auch die Überprüfung, ob vorhanden sein kann.

Wenn die obige Prüfung abgelehnt wird, wird der Wert vor dem Aufteilen unverändert zurückgegeben.

Streng genommen ist es also nicht einfach dasselbe wie "field_value = field_value.split (" bank ") [0]", aber ich denke, dass es normal ist, solche Überlegungen in die Praxis einzubeziehen.

Funktion auf Feld anwenden

wie? Ist es nicht besser, diese Fehlerkontrolle und dieses Feld ebenfalls einzubeziehen? Du da, der gedacht hat.

Du hast recht. In diesem Fall setzen Sie das obige "func_split" in das benutzerdefinierte Logikfeld des entsprechenden Felds und wenden Sie die Funktion dann wie folgt an.

Beim Anwenden eines Split (mit Fehlerkontrolle) auf ein Feld


#Funktion anwenden
field_value = func_split(field_value, "Bank", 0)

das ist alles!

Wie war es?

Wenn Sie Fragen haben, hinterlassen Sie bitte einen Kommentar zu diesem Artikel oder kontaktieren Sie uns über DM auf Twitter.

Recommended Posts

Benutzerdefinierte IQ Bot-Logik: Geteilte Anwendung (Auf Tabelle anwenden, Fehlerkontrolle einschließen)
IQ Bot Custom Logic Basic Key
Benutzerdefinierte IQ Bot-Logik: Löschen Sie die letzten n Zeilen der Tabelle
IQ Bot Custom Logic: Festwertzuweisung
Zusammenfassung der benutzerdefinierten logikbezogenen Verarbeitung von IQ Bot
IQ Bot Custom Logic: Split (extrahiert nur Bank- und Filialnamen aus Kontoinformationen)
IQ Bot Custom Logic (Python): Optimieren Sie Ausschlüsse in Schleifen
IQ Bot Custom Logic: Korrektur gängiger Lesegewohnheiten an Daten
IQ Bot Custom Logic (Python): Optimieren Sie die Ersetzungsverarbeitung in einer Schleife