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.
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.
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 "#".
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
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. ..
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