„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum tritt "SetingwithCopyWarning" auf, wenn Datenfrüchte aus Teilmengen geändert werden?

Warum tritt "SetingwithCopyWarning" auf, wenn Datenfrüchte aus Teilmengen geändert werden?

Gepostet am 2025-02-21
Durchsuche:724

Why Does `SettingWithCopyWarning` Occur When Modifying DataFrames Derived from Subsets?

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.

.
Neuestes Tutorial Mehr>

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