pandasで自作関数をapplyするときはaxis=1を設定する[Pandas][Python]

7月 25, 2020

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

Pandas,Python

Posted by vastee