Copy-on-Write expérimental
Pandas 2.0 introduit le mode Copy-on-Write (CoW) en option. Avec CoW activé, chaque opération qui semble retourner une copie partage en réalité la mémoire jusqu'à la première modification, éliminant les SettingWithCopyWarning et réduisant l'usage mémoire.
Activer et utiliser CoW
python
import pandas as pd
# Activer Copy-on-Write
pd.set_option('mode.copy_on_write', True)
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
# Ceci partage la mémoire (pas de copie)
subset = df[['a']]
# La copie se fait seulement à la modification
subset.iloc[0, 0] = 999 # copie déclenchée ici
# L'original n'est PAS modifié
print(df['a'].iloc[0]) # 1 (inchangé)
print(subset['a'].iloc[0]) # 999
# Plus de SettingWithCopyWarning !
