非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【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  成人
 

 

 

スポンサーリンク

 - Python