pandasで自作関数をapplyするときはaxis=1を設定する[Pandas][Python]
import pandas as pd
def func(row): if row['A'] < 3: return row['A'] + row['B'] else: return row['A'] + row['C']
df = pd.DataFrame({'A':[1,2,3],'B':[1,4,9],'C':[1,8,27]})df['D'] = df.apply(func, axis=1) # ここでaxis=1をおくことで行ごとの処理になるprint (df)
A B C D0 1 1 1 21 2 4 8 62 3 9 27 30