Saya memiliki kerangka data panda:

    pd.DataFrame({
    'total_discounted_cost_bef_929': [490, 0, 490, 0],
    'total_discounted_cost_aft_929': [525, 0, 525, 0],
    'aft_929_bool': [False, False, True, True]
})

Saya ingin membuat kolom baru bernama 'final_cost'. Jika 'aft_929_bool' == False, saya ingin output menjadi nilai di kolom 'total_discounted_cost_bef_929'. Dan sebaliknya untuk nilai True apa pun.

0
Michael Mathews Jr. 17 November 2020, 19:54

1 menjawab

Jawaban Terbaik

Coba dengan np.where

df['New']=np.where(df['aft_929_bool'],df['total_discounted_cost_aft_929'], df['total_discounted_cost_bef_929'])
df
Out[117]: 
   total_discounted_cost_bef_929  ...  New
0                            490  ...  490
1                              0  ...    0
2                            490  ...  525
3                              0  ...    0
[4 rows x 4 columns]
0
BENY 17 November 2020, 16:59