Why can\'t you do complex functions with np where?
This leads to succesful replacement:
df[\'helper_column\'] = df.column2.str.extract(\'([a-zA-Z ]+)\') df