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.
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.
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)
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