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 D 0 1 1 1 2 1 2 4 8 6 2 3 9 27 30
ディスカッション
コメント一覧
まだ、コメントがありません