Fehlerbehebung bei der Pandas-Funktion „Apply“ mit mehreren Spalten
Beim Versuch, eine Funktion mithilfe der Funktion „Apply“ auf mehrere Spalten in einem Pandas-Datenrahmen anzuwenden '-Funktion erhalten Benutzer möglicherweise eine Fehlermeldung, wenn die Spaltennamen nicht in Zeichenfolgen eingeschlossen sind oder wenn ein Syntaxfehler in der Funktionsdefinition auftritt.
Um das Problem undefinierter Namen zu beheben, stellen Sie sicher, dass die Spaltennamen angegeben sind innerhalb einfacher oder doppelter Anführungszeichen. Anstatt beispielsweise „row[a]“ zu verwenden, verwenden Sie „row['a']“ oder „row[„a“]“.
Außerdem, wenn die in „apply“ verwendete Funktion komplex ist Bei Vorgängen oder mehreren Schleifen ist es wichtig, auf Syntaxfehler oder fehlende Anweisungen zu prüfen. Diese Fehler können die Ausführung der Funktion beeinträchtigen und zu falschen Ergebnissen oder Fehlermeldungen führen.
Betrachten Sie das folgende Beispiel:
df = DataFrame({'a': np.random.randn(6),
'b': ['foo', 'bar'] * 3,
'c': np.random.randn(6)})
def my_test(row):
cum_diff = 0
for ix in df.index():
cum_diff = cum_diff (row['a'] - df['a'][ix])
return cum_diff
In diesem Beispiel entsteht die Fehlermeldung „IndexError: index out of range“ durch den Versuch, während der Schleife auf nicht vorhandene Indizes zuzugreifen. Um dies zu korrigieren, stellen Sie sicher, dass die Indizes innerhalb der Grenzen des Datenrahmens liegen, oder verwenden Sie eine andere Iterationsmethode, wie zum Beispiel:
def my_test(row):
cum_diff = 0
for index, value in df.iterrows():
cum_diff = (row['a'] - value['a'])
return cum_diff
Durch sorgfältiges Untersuchen der Funktion und Einschließen von Spaltennamen in Zeichenfolgen können Sie Probleme effektiv lösen und die Funktion „Anwenden“ mit mehreren Spalten verwenden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3