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.
Apabila lajur tidak wujud dalam DataFrame, memberikan nilai kepada df['column']
mencipta lajur baharu.
Contoh:
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
Jika lajur sudah wujud, tugasan menggantikan kandungannya.
Contoh:
df['B'] = [4, 5, 6] # 替换列 'B' 中的值 print(df) # 输出: # A B # 0 1 4 # 1 2 5 # 2 3 6
Boleh menetapkan nilai pada lajur berdasarkan pengiraan atau transformasi.
Contoh:
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
Anda boleh menggunakan pengindeksan boolean Pandas untuk tugasan bersyarat.
Contoh:
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
Anda boleh menggunakan berbilang lajur dalam satu ungkapan untuk pengiraan yang lebih kompleks.
Contoh:
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
Tugasan berangka boleh menggunakan operasi penvektoran untuk meningkatkan prestasi.
Contoh:
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
np.where
untuk tugasan logik bersyaratAnda boleh menggunakan NumPy untuk tugasan bersyarat.
Contoh:
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
Tetapkan nilai pada lajur berdasarkan fungsi tersuai yang digunakan pada baris atau lajur.
Contoh:
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
Berbilang operasi boleh dirantai bersama untuk menjadikan kod lebih ringkas.
Contoh:
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
Gunakan assign()
untuk membuat atau mengubah suai berbilang lajur dalam satu panggilan.
Contoh:
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
Buat nama lajur secara dinamik berdasarkan input luaran.
Contoh:
columns_to_add = ['L', 'M'] for col in columns_to_add: df[col] = df['A'] + df['B'] print(df)
Tetapkan nilai pada lajur berdasarkan DataFrame atau kamus luaran.
Contoh:
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
apply
, operasi vektor) mempunyai prestasi yang lebih baik daripada gelung Python. df['column'] = expression
Sintaks ialah ciri teras Panda dan mempunyai pelbagai kegunaan. Ia membenarkan:
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!