den Schuldigen von SetingwithCopyWarning
beim Versuch, einen Datenrahmen zu ändern, verwenden. besteht fort. Dieses Problem beruht auf dem Zugriff auf eine Datenfreame-Slice aus einem anderen Datenfreame, ohne die .Copy () -Methode aufzurufen.
importieren pandas als pd d = {'col1': [1, 2, 3, 4], 'col2': [3, 4, 5, 6]} df = pd.dataframe (data = d) df ['new_column'] = keine df.loc [0, 'new_column'] = 100 Anfangs gibt es keine Warnungen. Erstellen Sie jedoch einen neuen Datenframe, der auf einer Teilmenge von DF basiert:
new_df = df.loc [df.col1> 2]
import pandas as pd d = {'col1': [1, 2, 3, 4], 'col2': [3, 4, 5, 6]} df = pd.DataFrame(data=d) df['new_column'] = None df.loc[0, 'new_column'] = 100
new_df.loc [2, 'new_column'] = 100
new_df = df.loc[df.col1 > 2]
Lösung: Verwenden Sie .copy () für Datenrahmen, die von einer Untergruppe abgeleitet wurden
new_df.loc[2, 'new_column'] = 100
, um dieses Problem zu beheben, verwenden Sie immer die Methode .copy () beim Erstellen. Ein neuer Datenrahmen basierend auf einer Teilmenge eines vorhandenen Datenfrequers.
new_df_copy = df.loc [df.col1> 2] .Copy () new_df_copy.loc [2, 'new_column'] = 100 durch aufgerufen .copy () erstellen Sie eine unabhängige Kopie der Teilmenge, um die Warnung bei der Änderung von Werten zu vermeiden.
.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