Maison > développement back-end > Tutoriel Python > Comment définir efficacement les valeurs dans les cellules Pandas DataFrame par index ?

Comment définir efficacement les valeurs dans les cellules Pandas DataFrame par index ?

Linda Hamilton
Libérer: 2024-11-30 18:02:12
original
645 Les gens l'ont consulté

How to Efficiently Set Values in Pandas DataFrame Cells by 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)
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal