IQ Bot Custom Logic (Python): Optimieren Sie Ausschlüsse in Schleifen

Der am häufigsten verwendete Prozess in der benutzerdefinierten Logik von IQ Bot ist "Ersetzen". Da das "Ausschließen" unnötiger Zeichen und Symbole auch eine Art "Ersatz" darstellt, ist es keine Übertreibung zu sagen, dass 80 bis 90% der Fälle, in denen benutzerdefinierte Logik verwendet wird.

Die grundlegende Methode zum Ersetzen / Ausschließen wird in diesem Artikel vorgestellt, aber heute wird bei einem solchen Ersetzen die Verarbeitung von "Ausschluss" durchgeführt Hier erfahren Sie, wie Sie mithilfe von Schleifen die Effizienz verbessern.

Wann ist es sinnvoll? (Ausschluss)

Nehmen wir an, dass zusätzliche Symbole in den erfassten Elementen aufgrund eines schwachen Drucks gemischt werden.

Wenn aus "Dokodemo Shoji" "Dokodemo Shoji" wird (mit einem Punkt am Ende), schließen Sie es auf diese Weise aus.

Normaler Ersatz (Ausschluss)


field_value = field_value.replace(".","") 

Das Obige ist gut, weil es nur eine Art von Lärm (Punkt) gab, aber was soll ich tun, wenn viele Arten von Lärm gemischt werden, wie "Do * ko; de ', mo: Commerce! Dinge". ??

Wenn Sie es richtig machen, wird es wie folgt sein.

Normaler Ersatz (Ausschluss)


field_value = field_value.replace("*","") 
field_value = field_value.replace(";","") 
field_value = field_value.replace("'","") 
field_value = field_value.replace(",","") 
field_value = field_value.replace(":","") 
field_value = field_value.replace("!","") 
field_value = field_value.replace(".","") 

Wenn Sie andere Geräusche wie "#" ausschließen möchten! Wenn Sie dies glauben, fügen Sie die Logik field_value = field_value.replace (" # "," ") hinzu.

Dies ist kein Fehler, aber die Geschichte ist, dass Sie mit etwas weniger Logik schreiben können.

So geht's! (Ausschluss)

Mit dem folgenden Code können Sie genau dasselbe tun.

Verwenden Sie Schleifen, um Ausschlüsse zu optimieren


ignore_list = ("*",";","'",",",":","!",".")

for i in ignore_list:
    field_value = field_value.replace(i,"")

Wenn Sie das Rauschen von "#" oben ausschließen möchten! Wenn Sie dies glauben, fügen Sie einfach das # -Element am Ende von "ignore_list" hinzu.

Es bedeutet "ignore_list = (" * ","; "," '",", ",": ","! ",". "," # ")". Das Element mit dem zuletzt hinzugefügten "#".

Erklärung des Ausschlusses mit Schleifen

Die grundlegende Syntax für Python zum Durchlaufen von Sequenzen lautet [hier](https://qiita.com/imuimu/items/1e1581bd0749a871c213#%E3%83%AA%E3%82%B9%E3%83] % 88% E9% 85% 8D% E5% 88% 97% E3% 81% AE% E3% 83% AB% E3% 83% BC% E3% 83% 97% E5% 87% A6% E7% 90% 86 ) ist.

Was ist eine Sequenz? Wenn Sie denken, lesen Sie bitte Dieser Artikel (externer Link).

Weitere Informationen für Anfänger finden Sie hier [https://qiita.com/IQ_Bocchi/items/4e9fb40f9a69b22c301a#%E3%83%AA%E3%82%B9%E3%83%88%E3%81%A3%E3 % 81% A6% E4% BD% 95). Das Linkziel erklärt "Liste", was eine Art Sequenz ist, aber bitte denken Sie, dass es verschiedene Arten von Schließfächern außer "Liste" gibt.

Übrigens ist ignore_list im obigen Code eine Sequenz vom Typ tapple.

Das Folgende ist also eine Schleife, die die Elemente im Taple nacheinander verarbeitet. Das Folgende ist eine Erklärung, was jede Zeile tut.

Verwenden Sie Schleifen, um Ausschlüsse zu optimieren


for i in ignore_list:                 #ignore_Fügen Sie jedes Listenelement in eine Variable namens i ein und verarbeiten Sie sie der Reihe nach.
    field_value = field_value.replace(i,"")   #field_Ohne i im Wert, Feld_Ersatz für Wert

Was ist mit einem Tisch? (Ausschluss)

Die schleifenbasierte Effizienz kann auch auf Tabellen angewendet werden.

Im Fall einer Tabelle können Sie den Inhalt der for-Anweisung in die Grammatik für die Tabelle ändern und wie folgt verarbeiten ...

Verwenden Sie Schleifen, um Ausschlüsse zu optimieren (für Tabellen).


ignore_list = ("Zeichen, die Sie ausschließen möchten 1","Zeichen, die Sie ausschließen möchten 2","Zeichen, die Sie ausschließen möchten 3")

for i in ignore_list:
    df['Spaltenname'] = df['Spaltenname'].str.replace(i,"")

Ich finde das Folgende wunderschön.

Verwenden Sie Schleifen, um Ausschlüsse zu optimieren (für Tabellen).



ignore_list = ("Zeichen, die Sie ausschließen möchten 1","Zeichen, die Sie ausschließen möchten 2","Zeichen, die Sie ausschließen möchten 3")

def table_ignore(x,y):        
    for i in y:
        x = x.y(i,"")
    return x
        
df['Spaltenname'] = df['Spaltenname'].apply(table_replace,y=ignore_list)

Auf den ersten Blick scheint die Codemenge unten größer zu sein, sie ist jedoch flexibler, wenn Sie mehrere Zeichensatzsätze ausschließen können, die Sie ausschließen möchten, oder wenn Sie diese Kombinationen frei auf mehrere Spalten anwenden möchten. ..

das ist alles!

Wie war es? Mein Motto ist immer für Anfänger, aber ich denke, der heutige Artikel war für Anfänger in der Programmierung.

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

Recommended Posts

IQ Bot Custom Logic (Python): Optimieren Sie Ausschlüsse in Schleifen
IQ Bot Custom Logic (Python): Optimieren Sie die Ersetzungsverarbeitung in einer Schleife
IQ Bot Custom Logic (Python): Effizienter Ersetzungsprozess in einer Schleife
IQ Bot Custom Logic Basic Key
IQ Bot Custom Logic: Festwertzuweisung
Benutzerdefinierte Sortierung in Python3
Vermeiden Sie mehrere Schleifen in Python
IQ Bot Custom Logic: Korrektur gängiger Lesegewohnheiten an Daten
Benutzerdefinierte IQ Bot-Logik: Löschen Sie die letzten n Zeilen der Tabelle
Einfache Gacha-Logik in Python geschrieben
Benutzerdefiniertes Zustandsraummodell in Python
Benutzerdefinierte IQ Bot-Logik: Geteilte Anwendung (Auf Tabelle anwenden, Fehlerkontrolle einschließen)
Entwicklung eines Slack Bot mit Python mit chat.postMessage
IQ Bot Custom Logic: 5 Dinge, die Sie möglicherweise überraschen, wenn jemand, der eine andere Sprache spricht, Python zum ersten Mal berührt
Verwenden Sie eine benutzerdefinierte Fehlerseite mit Python / Tornado
IQ Bot Custom Logic: Split (extrahiert nur Bank- und Filialnamen aus Kontoinformationen)