Pandas DatenFrame kopieren

Suraj Joshi 30 Januar 2023
  1. Syntax der Methode pandas.DataFrame.copy()
  2. Kopieren eines Pandas DataFrame mit der Methode pandas.DataFrame.copy()
  3. Kopieren von Pandas DataFrame durch Zuweisung des DataFrame an eine Variable
Pandas DatenFrame kopieren

In diesem Tutorial wird vorgestellt, wie wir mit der Methode DataFrame.copy() eine Kopie eines DataFrame-Objekts erstellen können.

import pandas as pd

items_df = pd.DataFrame(
    {
        "Id": [302, 504, 708],
        "Cost": ["300", "400", "350"],
    }
)

print(items_df)

Ausgabe:

    Id Cost
0  302  300
1  504  400
2  708  350 

Anhand des obigen Beispiels werden wir die Verwendung der Methode DataFrame.copy() in Pandas demonstrieren.

Syntax der Methode pandas.DataFrame.copy()

DataFrame.copy(deep=True)

Sie gibt eine Kopie des DataFrame zurück. deep ist standardmäßig True, was bedeutet, dass jede Änderung, die in der Kopie vorgenommen wird, nicht im Original-DataFrame reflektiert wird. Wenn wir jedoch deep=False setzen, werden alle Änderungen, die in der Kopie vorgenommen werden, auch im Original-DataFrame wiedergegeben.

Kopieren eines Pandas DataFrame mit der Methode pandas.DataFrame.copy()

import pandas as pd
import numpy as np

items_df = pd.DataFrame(
    {
        "Id": [302, 504, 708],
        "Cost": ["300", "400", "350"],
    }
)

deep_copy = items_df.copy()

print("Original DataFrame before changing value in copy DataFrame:")
print(items_df, "\n")

print("Copy DataFrame before changing value in copy DataFrame:")
print(deep_copy, "\n")

deep_copy.loc[0, "Cost"] = np.nan

print("Original DataFrame after changing value in copy DataFrame:")
print(items_df, "\n")

print("Copy DataFrame after changing value in copy DataFrame:")
print(deep_copy, "\n")

Ausgabe:

Original DataFrame before changing value in copy DataFrame:
    Id Cost
0  302  300
1  504  400
2  708  350 

Copy DataFrame before changing value in copy DataFrame:
    Id Cost
0  302  300
1  504  400
2  708  350 

Original DataFrame after changing value in copy DataFrame:
    Id Cost
0  302  300
1  504  400
2  708  350 

Copy DataFrame after changing value in copy DataFrame:
    Id Cost
0  302  NaN
1  504  400
2  708  350 

Es wird eine Kopie des DataFrames items_df als deep_copy erstellt. Wenn wir einen Wert der Kopie deep_copy ändern, gibt es keine Änderung im ursprünglichen DataFrame items_df. Wir setzen den Wert der Spalte Kosten der 1. Zeile in deep_copy auf NaN, aber items_df bleibt unverändert.

Kopieren von Pandas DataFrame durch Zuweisung des DataFrame an eine Variable

import pandas as pd
import numpy as np

items_df = pd.DataFrame(
    {
        "Id": [302, 504, 708],
        "Cost": ["300", "400", "350"],
    }
)

copy_cost = items_df["Cost"]

print("Cost column of Original DataFrame before changing value in copy DataFrame:")
print(items_df, "\n")

print("Cost column of Copied DataFrame before changing value in copy DataFrame:")
print(copy_cost, "\n")

copy_cost[0] = np.nan

print("Cost column of Original DataFrame after changing value in copy DataFrame:")
print(copy_cost, "\n")

print("Cost column of Copied DataFrame after changing value in copy DataFrame:")
print(copy_cost, "\n")

Ausgabe:

Cost column of Original DataFrame before changing value in copy DataFrame:
    Id Cost
0  302  300
1  504  400
2  708  350 

Cost column of Copied DataFrame before changing value in copy DataFrame:
0    300
1    400
2    350
Name: Cost, dtype: object 

Cost column of Original DataFrame after changing value in copy DataFrame:
0    NaN
1    400
2    350
Name: Cost, dtype: object 

Cost column of Copied DataFrame after changing value in copy DataFrame:
0    NaN
1    400
2    350
Name: Cost, dtype: object 

Es wird eine Kopie der Spalte Cost des DataFrames items_df als copy_cost erstellt.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Pandas DataFrame