ホームページ > バックエンド開発 > Python チュートリアル > pandas の構文 `df[&#column&#] =expression` の説明

pandas の構文 `df[&#column&#] =expression` の説明

Patricia Arquette
リリース: 2025-01-10 09:13:46
オリジナル
131 人が閲覧しました

Explanation of the syntax `df[

Pandas df['column'] = expression 構文の詳細な説明: Pandas DataFrame (df) の列を 作成変更、または 割り当て に使用します。基本から上級まで、段階的に見ていきましょう。


基本

1. 新しい列を作成します

  • DataFrame に列が存在しない場合、df['column'] に値を代入すると新しい列が作成されます。

  • :

    <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>
    ログイン後にコピー

2. 既存の列を変更します

  • 列がすでに存在する場合、代入によってその内容が置き換えられます。

  • :

    <code class="language-python">  df['B'] = [4, 5, 6]  # 替换列 'B' 中的值
      print(df)
      # 输出:
      #    A  B
      # 0  1  4
      # 1  2  5
      # 2  3  6</code>
    ログイン後にコピー

中級レベル

3. 式ベースの割り当て

  • 計算または変換に基づいて列に値を割り当てることができます。

  • :

    <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>
    ログイン後にコピー

4. 条件付き代入を使用する

  • 条件付き代入には Pandas のブール型インデックスを使用できます。

  • :

    <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>
    ログイン後にコピー

5. 式で複数の列を使用する

  • より複雑な計算を行うには、1 つの式で複数の列を使用できます。

  • :

    <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>
    ログイン後にコピー

上級章

6. ベクトル化操作

  • 数値代入では、ベクトル化演算を使用してパフォーマンスを向上させることができます。

  • :

    <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>
    ログイン後にコピー

7. 条件付き論理代入には np.where を使用します

  • NumPy を条件付き代入に使用できます。

  • :

    <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>
    ログイン後にコピー

8. 外部関数を使用して値を代入します

  • 行または列に適用されるカスタム関数に基づいて列に値を割り当てます。

  • :

    <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>
    ログイン後にコピー

9. チェーン操作

  • コードをより簡潔にするために、複数の操作を連鎖させることができます。

  • :

    <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>
    ログイン後にコピー

10. 複数の列を一度に割り当てます

  • assign() を使用して、1 回の呼び出しで複数の列を作成または変更します。

  • :

    <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>
    ログイン後にコピー

専門家

11. 動的な列の割り当て

  • 外部入力に基づいて列名を動的に作成します。

  • :

    <code class="language-python">  columns_to_add = ['L', 'M']
      for col in columns_to_add:
          df[col] = df['A'] + df['B']
      print(df)</code>
    ログイン後にコピー

12. 外部データ割り当てを使用する

  • 外部データフレームまたはディクショナリに基づいて列に値を割り当てます。

  • :

    <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>
    ログイン後にコピー

13. パフォーマンスの最適化:

  • 値を割り当てる場合、Pandas の組み込み関数 (apply、ベクトル化された操作) を使用すると、Python ループよりもパフォーマンスが向上します。

概要

df['column'] = expression 構文は Pandas の中核機能であり、幅広い用途があります。次のことが可能になります:

  • DataFrame 内の列を追加、変更、操作します。
  • 条件ベースのロジックや複数列の変換などの複雑な計算を実行します。
  • 操作を連鎖させ、新しい列を動的に生成します。

これにより、Pandas は強力なデータ操作および分析ライブラリになります。

以上がpandas の構文 `df[&#column&#] =expression` の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート