Rumah >pembangunan bahagian belakang >Tutorial Python >Penjelasan sintaks `df[&#column&#] = ungkapan` dalam panda

Penjelasan sintaks `df[&#column&#] = ungkapan` dalam panda

Patricia Arquette
Patricia Arquetteasal
2025-01-10 09:13:46132semak imbas

Explanation of the syntax `df[

Pandas df['column'] = expression Penjelasan Terperinci Sintaks: Digunakan untuk membuat, ubah suai atau menetapkan lajur dalam Pandas DataFrame (df). Mari kita pecahkan langkah demi langkah, daripada asas kepada lanjutan.


Asas

1. Cipta lajur baharu

  • Apabila lajur tidak wujud dalam DataFrame, memberikan nilai kepada df['column'] mencipta lajur baharu.

  • Contoh:

    <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. Ubah suai lajur sedia ada

  • Jika lajur sudah wujud, tugasan menggantikan kandungannya.

  • Contoh:

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

Tahap pertengahan

3. Tugasan berasaskan ekspresi

  • Boleh menetapkan nilai pada lajur berdasarkan pengiraan atau transformasi.

  • Contoh:

    <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. Gunakan tugasan bersyarat

  • Anda boleh menggunakan pengindeksan boolean Pandas untuk tugasan bersyarat.

  • Contoh:

    <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. Gunakan berbilang lajur dalam ungkapan

  • Anda boleh menggunakan berbilang lajur dalam satu ungkapan untuk pengiraan yang lebih kompleks.

  • Contoh:

    <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>

Bab Lanjutan

6. Operasi pemvektoran

  • Tugasan berangka boleh menggunakan operasi penvektoran untuk meningkatkan prestasi.

  • Contoh:

    <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. Gunakan np.where untuk tugasan logik bersyarat

  • Anda boleh menggunakan NumPy untuk tugasan bersyarat.

  • Contoh:

    <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. Gunakan fungsi luaran untuk menetapkan nilai

  • Tetapkan nilai pada lajur berdasarkan fungsi tersuai yang digunakan pada baris atau lajur.

  • Contoh:

    <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. Operasi rantai

  • Berbilang operasi boleh dirantai bersama untuk menjadikan kod lebih ringkas.

  • Contoh:

    <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. Berikan berbilang lajur pada satu masa

  • Gunakan assign() untuk membuat atau mengubah suai berbilang lajur dalam satu panggilan.

  • Contoh:

    <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>

Pakar

11. Tugasan lajur dinamik

  • Buat nama lajur secara dinamik berdasarkan input luaran.

  • Contoh:

    <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. Gunakan tugasan data luaran

  • Tetapkan nilai pada lajur berdasarkan DataFrame atau kamus luaran.

  • Contoh:

    <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. Pengoptimuman prestasi:

  • Apabila memberikan nilai, menggunakan fungsi terbina dalam Pandas (apply, operasi vektor) mempunyai prestasi yang lebih baik daripada gelung Python.

Ringkasan

df['column'] = expression Sintaks ialah ciri teras Panda dan mempunyai pelbagai kegunaan. Ia membenarkan:

  • Tambah, ubah suai dan manipulasi lajur dalam DataFrame.
  • Lakukan pengiraan yang kompleks, termasuk logik berasaskan keadaan dan transformasi berbilang lajur.
  • Operasi rantaian dan jana lajur baharu secara dinamik.

Ini menjadikan Pandas pustaka analisis dan manipulasi data yang berkuasa.

Atas ialah kandungan terperinci Penjelasan sintaks `df[&#column&#] = ungkapan` dalam panda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn