pandasの複数列の値から新しい列を作る処理を関数で定義するにはapplyを使えば良い
2021.08.29
今回はpandasで複数列の値から新しい列を作る処理を関数で定義できるapplyの使い方を紹介します。

解決できる問題

例えば、df['a']の値が5かつdf['b']が10以上のときに1を返して、他は0みたいな列cを作りたい mapを使っても、列同士の四則演算でも実装ができないとき、できるけど、違う列を作る必要があるときなどに便利。
python
def decide_c(row):
  if row['a'] >= 5 and row['b'] >= 10:
      return 1
  else:
    return 0

df['c'] = df.apply(decide_c, axis=1)