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






ディスカッション
コメント一覧
まだ、コメントがありません