Pandas copie DataFrame

Suraj Joshi 30 janvier 2023
  1. Syntaxe de la méthode pandas.DataFrame.copy()
  2. Copie de la DataFrame de Pandas en utilisant la méthode pandas.DataFrame.copy()
  3. Copier le DataFrame de Pandas en affectant le DataFrame à une variable
Pandas copie DataFrame

Ce tutoriel introduira la façon dont nous pouvons copier un objet DataFrame en utilisant la méthode DataFrame.copy().

import pandas as pd

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

print(items_df)

Production :

    Id Cost
0  302  300
1  504  400
2  708  350 

Nous utiliserons l’exemple ci-dessus pour démontrer l’utilisation de la méthode DataFrame.copy() dans Pandas.

Syntaxe de la méthode pandas.DataFrame.copy()

DataFrame.copy(deep=True)

Il renvoie une copie de la DataFrame. Le mot deep est par défaut True, ce qui signifie que toute modification apportée à la copie ne sera pas répercutée dans le DataFrame original. Cependant, si nous mettons deep=False, tout changement effectué dans la copie sera également reflété dans le DataFrame original.

Copie de la DataFrame de Pandas en utilisant la méthode 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")

Production :

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 

Il crée une copie de la DataFrame items_df en tant que deep_copy. Si nous changeons une valeur quelconque de la copie deep_copy, il n’y a pas de changement dans la DataFrame originale items_df. Nous fixons la valeur de la colonne Cost de la 1ère ligne à NaN dans deep_copy mais items_df reste non modifié.

Copier le DataFrame de Pandas en affectant le DataFrame à une 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")

Production :

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 

Il crée une copie de la colonne Cost de la DataFrame items_df sous la forme copy_cost.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Article connexe - Pandas DataFrame