【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 成人
スポンサーリンク