HOWTO · Pandas
Pandas copie DataFrame
Ce tutoriel présente la façon dont nous pouvons faire une copie d'un objet DataFrame en utilisant la méthode DataFrame.copy() et nous explorerons l'utilisation de la méthode DataFrame.copy().
Sur cette page
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.