Bagaimana untuk menukar color
列添加到以下数据帧,以便 color='green'
如果 set == 'z'
,否则 color='red'
?
Type Set 1 A Z 2 B Z 3 B X 4 C Y
Jika anda hanya mempunyai dua pilihan, gunakan np.where
:
df['color'] = np.where(df['set']=='z', 'green', 'red')
Sebagai contoh,
import pandas as pd import numpy as np df = pd.dataframe({'type':list('abbc'), 'set':list('zzxy')}) df['color'] = np.where(df['set']=='z', 'green', 'red') print(df)
Output
set type color 0 z a green 1 z b green 2 x b red 3 y c red
Jika anda mempunyai lebih daripada dua syarat, sila gunakan np.select
np.select
。例如,如果您希望 color
color
menjadi yellow
当 (df['set'] == 'z') & (df['type'] == 'a')
blue
当 (df['set'] == 'z') & (df['type'] == 'b')
Jika tidak purple
当 (df['type'] == 'b')
Jika tidak black
Jika tidak Kemudian gunakan
df = pd.dataframe({'type':list('abbc'), 'set':list('zzxy')}) conditions = [ (df['set'] == 'z') & (df['type'] == 'a'), (df['set'] == 'z') & (df['type'] == 'b'), (df['type'] == 'b')] choices = ['yellow', 'blue', 'purple'] df['color'] = np.select(conditions, choices, default='black') print(df)
Set Type color 0 Z A yellow 1 Z B blue 2 X B purple 3 Y C black
Atas ialah kandungan terperinci Bagaimana untuk membuat lajur baharu dengan nilai yang dipilih berdasarkan lajur sedia ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!