Just use result_type="expand" in pandas apply
df
Out[78]:
a b
0 0 1
1 2 3
2 4 5
3 6 7
4 8 9
df[['mean', 'std', 'max']]=df[['a','b']].apply(mathOperationsTuple, axis=1, result_type="expand")
df
Out[80]:
a b mean std max
0 0 1 0.5 0.5 1.0
1 2 3 2.5 0.5 3.0
2 4 5 4.5 0.5 5.0
3 6 7 6.5 0.5 7.0
4 8 9 8.5 0.5 9.0
and here some copy paste code
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(10).reshape(5,2), columns=['a','b'])
print('df',df, sep='\n')
print()
def mathOperationsTuple(arr):
return np.mean(arr), np.std(arr), np.amax(arr)
df[['mean', 'std', 'max']]=df[['a','b']].apply(mathOperationsTuple, axis=1, result_type="expand")
print('df',df, sep='\n')