体格指数:BMI (body mass index)
今回は身長と体重を引数に渡して BMI (body mass index) と 標準体重 を返す関数のサンプルコードを載せます。BMI は
BMI = [体重(kg)] / [身長(m)×身長(m)]
によって定義され、この値を基準に痩せているか、肥満であるかという基準を作ります (WHO の基準と日本独自の基準があります。詳細についてはサンプルコードの中身を確認してください)。たとえば身長 170 cm, 体重 70 kg である場合、
BMI = 70 / [1.7 × 1.7] = 24.221
となります。統計上は BMI = 22 の人が、高血圧や肝障害などの病気を持っている割合が少ないとされています。したがって BMI に基づく標準体重は
標準体重(kg) = 22 × 身長(m) × 身長(m)
と定められています。
Python で BMI 関数を実装する
Python で作成した BMI 関数のコードです。
この関数をモジュールとして利用する場合には、関数の定義部分だけ(サンプルデータ以降を省いたコード)を .py 拡張子のついたファイルに保存して必要な時に import してください。
# PYTHON_BMI
# In[1]
# BMI関数
# 引数は身長(cm),体重(kg),日本基準適用の是非の順に指定
def bmi(h, w = False, j = False):
# 標準体重を計算
s_weight = round(22*(h/100)**2, 2)
# BMI(body mass index)を計算
x = round(w/((h/100)**2), 2)
# WHO の基準
if x < 16:
advice_w = "痩せすぎです"
elif 16 <= x < 17:
advice_w = "痩せています"
elif 17 <= x < 18.5:
advice_w = "痩せ気味です"
elif 18.5 <= x < 25:
advice_w = "普通体重です"
elif 25 <= x < 30:
advice_w = "前肥満です"
elif 30 <= x < 35:
advice_w = "肥満(1度)です"
elif 35 <= x < 40:
advice_w = "肥満(2度)です"
else:
advice_w = "肥満(3度)です"
# 日本の基準
if x < 18.5:
advice_j = "低体重です"
elif 18.5 <= x < 25:
advice_j = "普通体重です"
elif 25 <= x < 30:
advice_j = "肥満(1度)です"
elif 30 <= x < 35:
advice_j = "肥満(2度)です"
elif 35 <= x < 40:
advice_j = "肥満(3度)です"
elif x > 40:
advice_j = "肥満です"
# 体重を省略すると標準体重のみを返します
if w == False:
return s_weight
# 第3引数をTrueにすると日本基準で返します
elif j == True:
return x, s_weight, advice_j
# 第3引数がTrue以外の値であればWHO基準で返します
else:
return x, s_weight, advice_w
# 以下、サンプルデータを入力して動作を確認しています
# 身長170cm,体重75kg
sample_1 = bmi(170, 75)
# 身長170cm,体重75kg
sample_2 = bmi(170, 75, True)
# 身長183cmのみを入力
sample_3 = bmi(183)
print(sample_1)
print(sample_2)
print(sample_3)
# (25.95, 63.58, '前肥満です')
# (25.95, 63.58, '肥満(1度)です')
# 73.68
BMI() 関数は
BMI(身長(cm), [体重(kg)], [日本基準の適用])
という記述で呼びだします。この関数は引数の指定の仕方によって次のような値を返します。
(1) 引数に身長だけが渡された場合、関数は標準体重だけを数値で返します。
(2) 身長と体重だけが渡された場合は、標準体重と BMI, WHO基準の肥満度をタプルで返します。
(3) すべての引数が渡され、かつ日本基準に True が指定されると、標準体重と BMI, 日本基準の肥満度をタプルで返します。
上のサンプルコードの実行結果からわかるように、WHO 基準よりも日本基準のほうが少し厳しめです。
AIにBMIについて解説してもらいました
BMI(Body Mass Index)は、身体質量指数とも呼ばれ、体格指数とも訳されます。BMIは、体重と身長の比率を計算することで、個人の体重の健康状態を評価するための指標です。BMIは、以下の数式で計算されます。
BMI = 体重(kg)/ (身長(m) × 身長(m))
身長はメートル単位で表します。たとえば、身長が165センチメートルであれば、1.65メートルとして計算します。体重はキログラム単位で表します。
BMIの計算結果は、以下のように解釈されます。
BMIが18.5未満:低体重(やせ型)
BMIが18.5以上25未満:普通体重
BMIが25以上30未満:肥満度が軽度から中程度の肥満(肥満型1)
BMIが30以上35未満:肥満度が中程度から高度の肥満(肥満型2)
BMIが35以上:肥満度が非常に高い肥満(肥満型3)
ただし、BMIは身長と体重の比率しか考慮していないため、筋肉量や骨量、体脂肪の割合などを考慮することはありません。そのため、筋肉が多い人や骨量が多い人の場合には、BMIが高くなることがあります。BMIはあくまで一つの指標であり、個々の体型や体組成を詳しく判断するためには、他の指標や専門家のアドバイスを受ける必要があります。BMIは、一般的には体重管理や肥満度の評価に使用されますが、健康リスクの予測や研究などでも広く利用されています。ただし、個人の健康状態を完全に評価するためには、BMI以外の要素も考慮する必要があります。