Maison > développement back-end > Tutoriel Python > Explication de la syntaxe `df[&#column&#] = expression` dans les pandas

Explication de la syntaxe `df[&#column&#] = expression` dans les pandas

Patricia Arquette
Libérer: 2025-01-10 09:13:46
original
129 Les gens l'ont consulté

Explanation of the syntax `df[

Pandas df['column'] = expression Explication détaillée de la syntaxe : Utilisé pour créer, modifier ou attribuer des colonnes dans Pandas DataFrame (df). Décomposons-le étape par étape, du basique au avancé.


Bases

1. Créer une nouvelle colonne

  • Lorsqu'une colonne n'existe pas dans le DataFrame, attribuer une valeur à df['column'] crée une nouvelle colonne.

  • Exemple :

    <code class="language-python">  import pandas as pd
      df = pd.DataFrame({'A': [1, 2, 3]})
      print(df)
      # 输出:
      #    A
      # 0  1
      # 1  2
      # 2  3
    
      # 创建一个新列 'B',所有值都设置为 0
      df['B'] = 0
      print(df)
      # 输出:
      #    A  B
      # 0  1  0
      # 1  2  0
      # 2  3  0</code>
    Copier après la connexion

2. Modifier les colonnes existantes

  • Si la colonne existe déjà, l'affectation remplace son contenu.

  • Exemple :

    <code class="language-python">  df['B'] = [4, 5, 6]  # 替换列 'B' 中的值
      print(df)
      # 输出:
      #    A  B
      # 0  1  4
      # 1  2  5
      # 2  3  6</code>
    Copier après la connexion

Niveau intermédiaire

3. Affectation basée sur l'expression

  • Peut attribuer des valeurs aux colonnes en fonction de calculs ou de transformations.

  • Exemple :

    <code class="language-python">  df['C'] = df['A'] + df['B']  # 创建列 'C' 为 'A' 和 'B' 的和
      print(df)
      # 输出:
      #    A  B   C
      # 0  1  4   5
      # 1  2  5   7
      # 2  3  6   9</code>
    Copier après la connexion

4. Utiliser l'affectation conditionnelle

  • Vous pouvez utiliser l'indexation booléenne de Pandas pour l'affectation conditionnelle.

  • Exemple :

    <code class="language-python">  df['D'] = df['A'].apply(lambda x: 'Even' if x % 2 == 0 else 'Odd')
      print(df)
      # 输出:
      #    A  B   C     D
      # 0  1  4   5   Odd
      # 1  2  5   7  Even
      # 2  3  6   9   Odd</code>
    Copier après la connexion

5. Utilisez plusieurs colonnes dans les expressions

  • Vous pouvez utiliser plusieurs colonnes dans une seule expression pour des calculs plus complexes.

  • Exemple :

    <code class="language-python">  df['E'] = (df['A'] + df['B']) * df['C']
      print(df)
      # 输出:
      #    A  B   C     D    E
      # 0  1  4   5   Odd   25
      # 1  2  5   7  Even   49
      # 2  3  6   9   Odd   81</code>
    Copier après la connexion

Chapitre avancé

Opération de vectorisation

  • Les affectations numériques peuvent utiliser des opérations de vectorisation pour améliorer les performances.

  • Exemple :

    <code class="language-python">  df['F'] = df['A'] ** 2 + df['B'] ** 2  # 快速向量化计算
      print(df)
      # 输出:
      #    A  B   C     D    E   F
      # 0  1  4   5   Odd   25  17
      # 1  2  5   7  Even   49  29
      # 2  3  6   9   Odd   81  45</code>
    Copier après la connexion

7. Utilisez np.where pour l'affectation logique conditionnelle

  • Vous pouvez utiliser NumPy pour une affectation conditionnelle.

  • Exemple :

    <code class="language-python">  import numpy as np
      df['G'] = np.where(df['A'] > 2, 'High', 'Low')
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G
      # 0  1  4   5   Odd   25  17   Low
      # 1  2  5   7  Even   49  29   Low
      # 2  3  6   9   Odd   81  45  High</code>
    Copier après la connexion

8. Utilisez des fonctions externes pour attribuer des valeurs

  • Attribuez des valeurs aux colonnes en fonction d'une fonction personnalisée appliquée à la ligne ou à la colonne.

  • Exemple :

    <code class="language-python">  def custom_function(row):
          return row['A'] * row['B']
    
      df['H'] = df.apply(custom_function, axis=1)
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H
      # 0  1  4   5   Odd   25  17   Low   4
      # 1  2  5   7  Even   49  29   Low  10
      # 2  3  6   9   Odd   81  45  High  18</code>
    Copier après la connexion

9. Fonctionnement de la chaîne

  • Plusieurs opérations peuvent être enchaînées pour rendre le code plus concis.

  • Exemple :

    <code class="language-python">  df['I'] = df['A'].add(df['B']).mul(df['C'])
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I
      # 0  1  4   5   Odd   25  17   Low   4   25
      # 1  2  5   7  Even   49  29   Low  10   49
      # 2  3  6   9   Odd   81  45  High  18   81</code>
    Copier après la connexion

10. Attribuez plusieurs colonnes à la fois

  • Utilisez assign() pour créer ou modifier plusieurs colonnes en un seul appel.

  • Exemple :

    <code class="language-python">  df = df.assign(
          J=df['A'] + df['B'],
          K=lambda x: x['J'] * 2
      )
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I   J   K
      # 0  1  4   5   Odd   25  17   Low   4   25   5  10
      # 1  2  5   7  Even   49  29   Low  10   49   7  14
      # 2  3  6   9   Odd   81  45  High  18   81   9  18</code>
    Copier après la connexion

Experts

11. Affectation dynamique des colonnes

  • Créez dynamiquement des noms de colonnes en fonction d'une entrée externe.

  • Exemple :

    <code class="language-python">  columns_to_add = ['L', 'M']
      for col in columns_to_add:
          df[col] = df['A'] + df['B']
      print(df)</code>
    Copier après la connexion

12. Utiliser l'affectation de données externes

  • Attribuez des valeurs aux colonnes en fonction d'un DataFrame ou d'un dictionnaire externe.

  • Exemple :

    <code class="language-python">  mapping = {1: 'Low', 2: 'Medium', 3: 'High'}
      df['N'] = df['A'].map(mapping)
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I   J   K      N
      # 0  1  4   5   Odd   25  17   Low   4   25   5  10    Low
      # 1  2  5   7  Even   49  29   Low  10   49   7  14  Medium
      # 2  3  6   9   Odd   81  45  High  18   81   9  18   High</code>
    Copier après la connexion

13. Optimisation des performances :

  • Lors de l'attribution de valeurs, l'utilisation des fonctions intégrées de Pandas (apply, opérations vectorisées) offre de meilleures performances que les boucles Python.

Résumé

df['column'] = expression La syntaxe est la fonctionnalité principale de Pandas et a un large éventail d'utilisations. Il permet :

  • Ajoutez, modifiez et manipulez des colonnes dans un DataFrame.
  • Effectuez des calculs complexes, notamment une logique basée sur des conditions et des transformations multicolonnes.
  • Enchaînez les opérations et générez dynamiquement de nouvelles colonnes.

Cela fait de Pandas une puissante bibliothèque de manipulation et d'analyse de 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!

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