Maison > Article > développement back-end > Pourquoi Pandas recommande-t-il d'utiliser « .copy() » lors du sous-ensemble de DataFrames ?
Pourquoi est-il essentiel de copier des DataFrames dans Pandas ?
Lors de la récupération de sous-ensembles de DataFrames, il est crucial de comprendre pourquoi les programmeurs recommandent de créer une copie en utilisant la méthode .copy(). Par défaut, le sous-ensemble DataFrames dans Pandas renvoie une référence au DataFrame d'origine, ce qui signifie que les modifications apportées au sous-ensemble affectent le DataFrame parent.
Que se passe-t-il si vous ne copiez pas ?
Sans créer de copie, toute modification du sous-DataFrame modifiera directement le DataFrame parent. Par exemple :
df = pd.DataFrame({'x': [1, 2]}) df_sub = df[0:1] df_sub.x = -1
Si vous imprimez df après ces modifications, vous verrez que la valeur de x dans la première ligne est passée à -1, même si vous aviez uniquement l'intention de modifier le sous-DataFrame.
Avantages de la copie
En créant une copie, vous créez un nouvel objet indépendant du parent DataFrame. Les modifications apportées à la copie n'affecteront pas l'original. Ceci est essentiel lorsque vous souhaitez effectuer des opérations sur un sous-ensemble de données sans modifier involontairement l'ensemble du DataFrame.
df_sub_copy = df[0:1].copy() df_sub_copy.x = -1
Dans ce cas, df reste inchangé, préservant ses valeurs d'origine.
Remarque : Il est important de souligner que la méthode .copy() est obsolète dans les versions plus récentes de Pandas. Au lieu de cela, il est recommandé d'utiliser les méthodes d'indexation .loc et .iloc, qui vous permettent de découper les DataFrames tout en garantissant l'intégrité des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!