【Python】np.whereで条件に応じた処理を行う
NumPyのnp.whereを使うと条件式に応じたデータを吐き出しことができます。データ解析をする上で便利なので覚えておきましょう。
以下が使用例です。元のデータの「年齢」から18歳未満を「未成年」、それ以上を「成人」としたデータを作り新たなデータ列として追加しています。
import pandas as pd import numpy as np d = [['岡部 祐二', 14, '男', '050-3888-0689'], ['今関 卓也', 35, '男', '070-0549-9317'], ['弓削 良平', 40, '男', '090-5861-4371'], ['荒木 崇', 44, '男', '090-0495-9588'], ['小川 英樹', 17, '男', '080-0749-9035'], ['森下 浩', 21, '男', '050-7947-2195']] header = ['名前', '年齢', '性別', '携帯番号'] data = pd.DataFrame(data=d, columns=header) #18歳未満は’未成年’、それ以上は'成人'という条件でデータ列を追加 data['区分'] = np.where(data['年齢'] < 18, '未成年', '成人') print(data) # 名前 年齢 性別 携帯番号 区分 # 0 岡部 祐二 14 男 050-3888-0689 未成年 # 1 今関 卓也 35 男 070-0549-9317 成人 # 2 弓削 良平 40 男 090-5861-4371 成人 # 3 荒木 崇 44 男 090-0495-9588 成人 # 4 小川 英樹 17 男 080-0749-9035 未成年 # 5 森下 浩 21 男 050-7947-2195 成人
スポンサーリンク