Wann erstellt Pandas eine Ansicht und wann eine Kopie eines DataFrames?

Barbara Streisand
Freigeben: 2024-11-04 05:28:02
Original
677 Leute haben es durchsucht

When Does Pandas Create a View vs. a Copy of a DataFrame?

Verstehen der Pandas-Regeln für Ansicht und Kopie

Beim Umgang mit Datenrahmen in Pandas ist es wichtig, den Unterschied zwischen Ansichten und Kopien zu verstehen. Diese Unterscheidung bestimmt, ob Änderungen an einer Teilmenge eines Datenrahmens Auswirkungen auf den ursprünglichen Datenrahmen haben.

Regeln für die Erstellung von Ansichten und Kopien

  • Kopieren:

    • Alle Vorgänge, mit Ausnahme von Indexern, die Werte festlegen, generieren eine Kopie.
    • Zu den Vorgängen, die Kopien zurückgeben, gehören: Abfragen (.query), Datenbearbeitungsfunktionen ( .fillna, .dropna) und bestimmte Slicing-Vorgänge.
  • Ansicht:

    • Indexer, die Werte festlegen (_loc , _iloc, _iat, _at) ändert den Datenrahmen standardmäßig direkt.
    • Indexer, die einfach typisierte Objekte abrufen, können je nach Speicherlayout Ansichten oder Kopien sein. Dies ist jedoch kein verlässlicher Indikator.

Ausnahmen und Klarstellungen

  • inplace=True: Einige Operationen bieten eine Inplace-Option (z. B. _inplace=True), die den ursprünglichen Datenrahmen ändert, anstatt eine Kopie zurückzugeben.
  • Objekte mit mehreren D-Typen: Indexer für Objekte mit mehreren D-Typen immer Kopien erstellen.
  • Verkettete Indizierung:Verkettete Indizierungsoperationen (z. B. _[_df.C <= df.B].loc[:,'B':'E'] _) erzeugt möglicherweise nicht immer eine Ansicht und sollte vermieden werden. Verwenden Sie stattdessen einen einzelnen Indexierungsvorgang, um die zu ändernde Teilmenge explizit anzugeben: _df.loc[_df.C <= df.B, 'B':'E']_.

Beispielverwendung

Betrachten Sie das folgende Beispiel:

<code class="python">df = pd.DataFrame(np.random.randn(8,8), columns=list('ABCDEFGH'), index=range(1,9))
df[df.C <= df.B] = 7654321</code>
Nach dem Login kopieren

Dieser Vorgang ändert den ursprünglichen Datenrahmen (_df_), da der Indexer df[df.C <= df .B] fungiert aufgrund seiner Verwendung beim Festlegen von Werten als Ansicht.

Fazit

Das Verständnis der Regeln für die Erstellung von Ansichten und Kopien in Pandas ist wichtig für Effektive Datenrahmenmanipulation. Indem Sie die oben dargelegten Grundsätze befolgen, können Sie unbeabsichtigte Datenänderungen vermeiden und die Datenintegrität sicherstellen.

Das obige ist der detaillierte Inhalt vonWann erstellt Pandas eine Ansicht und wann eine Kopie eines DataFrames?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!