Add 2 new columns to existing dataframe using apply
anky_91's answer highlights a useful option in apply
.
For this particular case however, apply
is not even required,
df['add'], df['multiply'] = add_multiply(df['col1'],df['col2'])
You can add result_type='expand'
in the apply
:
‘expand’ : list-like results will be turned into columns.
df[['add', 'multiply']]=df.apply(lambda x: add_multiply(x['col1'], x['col2']),axis=1,
result_type='expand')
Or call a dataframe constructor:
df[['add', 'multiply']]=pd.DataFrame(df.apply(lambda x: add_multiply(x['col1'],
x['col2']), axis=1).tolist())
col1 col2 add multiply
0 1 3 4 3
1 2 4 6 8