Maison >développement back-end >Tutoriel Python >Comment définir efficacement les valeurs dans les cellules Pandas DataFrame par index ?
Définition des valeurs dans les cellules Pandas DataFrame par index
Pour définir une valeur de cellule spécifique dans un Pandas DataFrame en fonction de son index, considérez ce qui suit :
Utilisation de df.set_value(index, colonne, value)
df.set_value() permet d'attribuer directement une valeur à une cellule en utilisant son index. Cependant, notez que cette méthode est vouée à la dépréciation.
# Correct way: df.set_value('C', 'x', 10)
Utilisation df.at[index, column] = value
L'alternative préférée est d'utiliser df .at[] pour mettre à jour directement les valeurs des cellules. Cette méthode est plus efficace et fournit une syntaxe plus concise.
df.at['C', 'x'] = 10
Utilisation de l'indexation chaînée
Attention : Bien que cela puisse sembler intuitif utilisez l'indexation chaînée pour définir les valeurs des cellules (par exemple, df.xs('C')['x'] = 10), cette méthode ne modifie que une copie de la ligne ou de la colonne. Pour modifier directement le DataFrame d'origine, utilisez soit df.set_value() ou df.at[].
Pourquoi l'indexation chaînée échoue
Indexation chaînée (par exemple, df. xs('C')['x'] = 10) crée un nouvel objet DataFrame avec une référence aux données d'origine. Les affectations effectuées à ce nouvel objet ne sont pas propagées au DataFrame d'origine.
Performances
Les benchmarks montrent que df.set_value() est l'option la plus rapide, suivie de df' x' = 10 et df.at['C', 'x'] = 10. Cependant, les différences de performances peuvent varier en fonction de la taille du DataFrame et complexité.
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!