I have a data frame and I want to create a new column whose values are defined by values located in other columns (in the same row). It is very simple if I use simple operations (+, -, * and even abs). For example:
df['new_col'] = abs(df['col1']*df['col2'] - df['col3'])
Then I defined my own function in Python and tried to do the following:
df['new_col'] = my_func(df['col1'], df['col2'], df['col3'], df['col4']).
Unfortunately it did not work. I think the reason why it didn't work is because my_func contains asin, atan and other functions that cannot be applied to series. For example, if I try abs(df['col1']) I get no complains, but if I try asin(df['col1']) I get an error message:
TypeError: only length-1 arrays can be converted to Python scalars
Is there a trick that will let me use asin (or my own function my_func) in the same way abs or + are used?