分数と小数と比|算数から数式への橋渡し

このページはプロモーション(広告)を含みます。

算数から数式への橋渡し(初級・読む22分+演習28分)

この授業のゴール

仕事でどう使うか

データの仕事で出てくる指標の多くは、分数(割り算)です。購入率、解約率、正解率、1人当たり売上。分母が何かを答えられない指標は、解釈できません。

路線 この授業の使いどころ
DS(データサイエンティスト) 購入率・継続率などの指標の分母(来店者か、会員か、注文か)を指標定義書に明記する
ML(機械学習エンジニア) 正解率・適合率・再現率は分数。分母が変わると意味が変わるので、混同行列の数から手で再計算して確かめる
DX(DX推進・AI企画) 業務の配分(担当者A:B=3:2)や、全体に対する削減割合の試算に使う
RS(研究者) 比(オッズ比、効果量の比など)の読み方の土台。小数の丸めが再現性に影響する

成果物でいえば、KPI定義書の「分子・分母・対象期間」の欄、予算や工数の配分表、評価指標の手計算シートです。

前提

次の言葉を使います。不安があれば先に戻ってください。

分数が苦手でも大丈夫です。この授業では「具体的な人数」から始めて、分数の形に戻ります。

身近な状況:「会員比率」は何を何で割ったのか

オンライン店(架空)のある日のデータです。

項目 人数
来店者(サイトを訪れた人) 250
購入者(来店者のうち購入した人) 40
購入者のうち会員 28

担当者が「会員の割合は?」と聞かれました。Aさんは 28 ÷ 40 = 0.70 と答え、Bさんは 28 ÷ 250 = 0.112 と答えました。どちらも計算は正しいのに、答えが違います。割る数(分母)が違うからです。

日本語の「会員の割合」は、分母を省略しています。数字を出す前に「何人のうちの何人か」を言葉にすることが、この授業の中心です。

直感的な説明:ピザを分ける、全体を等しく切る

分数 $\frac{3}{4}$ は、「1を4等分した3つ分」です。ピザを4等分して3切れ取った量です。下の数 4 は何等分したか(分母)、上の数 3 は何個取ったか(分子)を表します。

同じ量は、割り算 $3 \div 4 = 0.75$ とも、百分率の75%とも書けます。3つの書き方は、同じ量の別の見せ方です。

足し算で迷ったら、ピザで考えます。$\frac{1}{2}+\frac{1}{3}$ は、「半分」と「3分の1」を合わせた量です。切り方が違う(2等分と3等分)ので、そのままでは足せません。同じ大きさの切れ(6等分)にそろえてから数えます。半分は6等分の3切れ、3分の1は2切れ、合わせて5切れ。だから $\frac{5}{6}$ です。

比も同じ発想です。「コーヒー豆と牛乳を3:2で混ぜる」は、全体を3+2=5つに分けて、豆が3つ、牛乳が2つという意味です。豆は全体の $\frac{3}{5}$ で、$\frac{3}{2}$ ではありません。

たとえ話の限界:ピザの絵は、1より小さい分数には向いていますが、$\frac{7}{4}$ のように1を超える分数や、負の分数には使えません。そのときは数直線で考えます(負数・絶対値・数直線)。

正確な定義:分数・小数・百分率・比

分数 $\frac{a}{b}$ は、割り算 $a \div b$ の結果を表す書き方です。$a$ を分子、$b$ を分母といい、分母 $b$ は0であってはなりません(0で割る計算は定義されない: 四則計算と計算順序)。

約分は、分子と分母を共通の約数で割って簡単にすることです。$\frac{40}{250}$ は、10で割って $\frac{4}{25}$。値は変わりません。

通分は、分母をそろえることです。足し算・引き算は、分母をそろえてから分子だけを計算します。

$$\frac{a}{c} + \frac{b}{c} = \frac{a+b}{c} \qquad \frac{1}{4} + \frac{1}{6} = \frac{3}{12} + \frac{2}{12} = \frac{5}{12}$$

記号の意味:$a, b$ は分子、$c$ は共通の分母です。12は4と6の公倍数(どちらでも割り切れる数)で、$\frac{1}{4}=\frac{3}{12}$、$\frac{1}{6}=\frac{2}{12}$ と直しています。

掛け算は、分子どうし、分母どうしを掛けます。$\frac{2}{3}\times\frac{3}{5}=\frac{6}{15}=\frac{2}{5}$。

割り算は、割る分数の逆数(分子と分母を入れ替えた数)を掛けます。

$$\frac{2}{3} \div \frac{4}{9} = \frac{2}{3} \times \frac{9}{4} = \frac{18}{12} = \frac{3}{2} = 1.5$$

意味は、「$\frac{2}{3}$ の中に $\frac{4}{9}$ が何個入るか」です。$\frac{2}{3}=\frac{6}{9}$ なので、$\frac{4}{9}$ は 1.5 個入ります。

小数は10のべき(10, 100, ...)を分母にした分数です。$0.16 = \frac{16}{100}$。割り切れない分数は、小数にすると無限に続きます(循環小数)。$\frac{1}{3}=0.3333\ldots$

百分率は、1を100%とした表し方です。$0.16 = 16\%$。

比 $A:B$ は、2つの量の大きさの関係です。次の3つは別のものです。

名前 意味 $3:2$ の場合
比の値 $A \div B$ $\frac{3}{2}=1.5$
全体に対する割合 $A \div (A+B)$ $\frac{3}{5}=0.6$
配分額 全体 × 割合 全体が100,000円なら、Aは60,000円

次のコードは、Python の fractions モジュールで、分数を分数のまま計算します。

from fractions import Fraction
a = Fraction(1, 4) + Fraction(1, 6)
b = Fraction(2, 3) / Fraction(4, 9)
print(a, float(a))          # 5/12 0.4166...
print(b, float(b))          # 3/2 1.5
print(Fraction(40, 250))    # 約分されて 4/25

Fraction(分子, 分母) は、分数を表す型(Fraction型)を作ります。float(a) は小数(float型)への変換です。

段階付き例題:購入率と配分を求める

問題1:来店者250人、購入者40人のとき、購入率を求めよ。

  1. 何のうち何か:来店者(250)のうち購入者(40)。分母は来店者です。
  2. 分数にする:$\frac{40}{250}$。
  3. 約分する:10で割って $\frac{4}{25}$。
  4. 小数にする:$4 \div 25 = 0.16$。25を4倍すると100になるので、分子も4倍して $\frac{16}{100}=0.16$ と確かめられます。
  5. 百分率にする:16%。
  6. 意味を言う:「来店者100人のうち16人が購入した」。

問題2:キャンペーン後の購入率が20%になった。変化を2通りで表せ。

「4%上がった」と書くと、4パーセントポイントなのか4%増(16%→16.64%)なのかがわかりません。割合の変化は、どちらの表し方かを書きます。

問題3:今月の利益100,000円を、担当者2人の貢献比3:2で配分する。

  1. 比の合計:$3+2=5$。
  2. 1つ分:$100000 \div 5 = 20000$円。
  3. 配分:A = $20000\times3 = 60000$円、B = $20000\times2 = 40000$円。
  4. 検算:$60000+40000=100000$。合計が元の金額に一致します。

誤答の例:Aに $100000 \times \frac{3}{2}=150000$ 円としてしまう。これは「比の値」を割合と取り違えています。

操作して理解する:分母を変えて同じ人数を割る

同じ28人でも、分母を変えると割合が変わります。コードで確かめましょう。実行前に3つの値を予想してから動かしてください。

visitors, buyers, member_buyers = 250, 40, 28
print("購入率          :", buyers / visitors)
print("購入者の会員率  :", member_buyers / buyers)
print("来店者に対する会員購入率:", member_buyers / visitors)
print("百分率に直す    :", round(member_buyers / buyers * 100, 1), "%")

出力は 0.16、0.7、0.112、70.0 % です。

次に、小数の「近似」を観察します。コンピュータは小数を2進数で保存するため、わずかな誤差が出ます。

import math
print(0.1 + 0.2)                      # 0.30000000000000004
print(0.1 + 0.2 == 0.3)               # False
print(math.isclose(0.1 + 0.2, 0.3))   # True
print(1/3 * 3)                        # 1.0
print(0.33 * 3)                       # 0.99

== で小数どうしを比べると、見た目が同じでも False になることがあります。そのため、小数の比較には「差が十分小さいか」(math.isclose)を使います。また、0.33 * 3 = 0.99 のように、手で途中を丸めると、合計が100%になりません。

発展:循環小数、通分の最小公倍数、比の連鎖

循環小数:分母を素因数分解したとき、2と5だけで構成されていれば有限小数になります($\frac{3}{8}=0.375$)。3や7などの素因数が入ると、同じ数字が繰り返される循環小数になります($\frac{1}{7}=0.142857142857\ldots$)。そのため、「割り切れない」ことは異常ではなく、普通のことです。

最小公倍数:通分では、分母の最小公倍数に合わせると計算が小さくなります。$\frac{1}{4}+\frac{1}{6}$ は、分母の積24でも計算できます($\frac{6}{24}+\frac{4}{24}=\frac{10}{24}=\frac{5}{12}$)が、最小公倍数12なら約分が不要です。どちらでも結果は同じです。

連比:$A:B=2:3$、$B:C=4:5$ のとき、Bをそろえて $A:B:C=8:12:15$ にします(Bの2つの値3と4の最小公倍数12にそろえる)。複数のパートの配分や、倍率の連続した変換で使います。

金額の丸め:配分額を円未満に丸めると、合計が元の金額とずれることがあります。例:100円を1:1:1で分けると33.33...円ずつ。33円ずつだと合計99円で1円余ります。実務では、「端数を最後の1人に寄せる」など、余りの処理ルールを事前に決めます。

よくある失敗

失敗1:分母どうし、分子どうしを足してしまう

誤った例:$\frac{1}{2}+\frac{1}{3}=\frac{1+1}{2+3}=\frac{2}{5}$

from fractions import Fraction
print(Fraction(1, 2) + Fraction(1, 3))   # 5/6
print(1/2 + 1/3, 2/5)                    # 0.8333... 0.4

$\frac{2}{5}=0.4$ は、$\frac{1}{2}=0.5$ より小さくなっています。半分に別の量を足したのに、半分より小さくなるのはおかしい、と気づけます。直し方:通分して分母をそろえてから、分子だけを足します。$\frac{3}{6}+\frac{2}{6}=\frac{5}{6}$。

失敗2:分母を取り違えて「割合」を比べる

誤った例:店Aは来店者200人中、購入者30人。店Bは来店者50人中、購入者10人。「Bの方が購入者が少ないので、Bの方が購入に弱い」と結論した。

print("A:", 30 / 200)    # 0.15
print("B:", 10 / 50)     # 0.2

人数(頻度)と割合(確率に近い量)を混同しています。購入率はAが15%、Bが20%で、Bの方が高いです。規模が違うものを比べるときは、人数ではなく割合を使います。ただし、Bは来店者50人と少なく、偶然のゆらぎが大きいことも注意点です。直し方:指標を出すときは分子・分母・対象期間を必ず書きます。

失敗3:途中で丸めて合計がずれる

誤った例:3店舗の売上が同額と考え、構成比を $\frac{1}{3}\approx0.33$(33%)と丸めて、合計を99%と報告した。

share = round(1 / 3, 2)
print(share * 3)           # 0.99
print(1 / 3 * 3)           # 1.0
print([round(1/3*100, 1)] * 3, round(sum([round(1/3*100, 1)] * 3), 1))   # 33.3 x3 -> 99.9

丸めた値を使って計算を続けると、誤差が積み重なります。直し方:①計算の途中は丸めず、②表示するときに1回だけ丸めます。③表に合計が100%にならない旨(「四捨五入のため」)を注記するか、端数処理のルールを決めます。

まとめ

用語

分数(分子・分母)(fraction (numerator / denominator))

a÷b を a/b と書いた形。上の数が分子、下の数が分母で、分母は0にできない。

約分・通分(reduction / common denominator)

約分は分子と分母を共通の約数で割ること。通分は分母を同じ数にそろえること。値は変わらない。

逆数(reciprocal)

分子と分母を入れ替えた数。もとの数に掛けると1になる。分数の割り算で使う。

比(ratio)

2つ以上の量の大きさの関係を A:B のように表したもの。比の値(A÷B)と全体に対する割合(A÷(A+B))は別。

パーセントポイント(percentage point)

割合どうしの差の単位。16%から20%は4パーセントポイントの上昇。

よくある質問

分数と小数と百分率は、どれを使えばよいですか?

計算は分数または小数、報告は百分率が一般的です。分数は誤差が出ない(途中の丸めがない)ので手計算の検算に向き、小数はコードでの計算に向き、百分率は読み手が量感をつかみやすいです。相互に変換できれば十分です。

比の値と割合の違いがわかりません。

比の値は「AがBの何倍か」($A\div B$)、割合は「全体のうちのAの大きさ」($A\div(A+B)$)です。3:2では、比の値は1.5、割合は0.6(60%)です。配分では割合の方を使います。

なぜ指標の分母を書く必要があるのですか?

分母が違えば、同じ名前の指標でも別の数になるからです。購入率でも、来店者基準か会員基準かで数が変わります。KPI定義書の「分子・分母・期間・除外条件」の欄は、混乱を防ぐために必ず埋めます。

割り切れない分数は、どこまで小数で書けばよいですか?

目的に応じて決めます。報告資料なら小数第1〜2位、途中計算なら丸めずに保持します。「四捨五入のため合計が100%にならない場合があります」と注記します。

分数の割り算で、逆数を掛けるのはなぜですか?

$\frac{2}{3}\div\frac{4}{9}$ は、「$\frac{4}{9}$ を何倍すれば $\frac{2}{3}$ になるか」を求めています。$\frac{4}{9}\times\frac{9}{4}=1$ なので、$\frac{9}{4}$ を掛けると「1つ分」を測る単位が作れ、割り算が掛け算に直ります。数を入れて $\frac{6}{9}\div\frac{4}{9}=1.5$ と確かめると納得できます。

比の合計を使うとき、金額が割り切れなかったらどうしますか?

端数の処理ルールを決めます。例えば、切り捨てて、残った端数を最大の取り分の人に加える、などです。ルールがないと、合計が元の金額と合いません。実務では、ルールを明文化して合意します。

確認問題

問1 購入者12人、来店者80人のとき、購入率は何%か。

  1. ① 6.7%
  2. ② 15%
  3. ③ 12%
  4. ④ 85%
解答と解説

正解:②

$12\div80=0.15$ なので15%です。

問2 $\frac{1}{2}+\frac{1}{3}$ の値はどれか。

  1. ① $\frac{2}{5}$
  2. ② $\frac{1}{5}$
  3. ③ $\frac{5}{6}$
  4. ④ $\frac{1}{6}$
解答と解説

正解:③

分母を6にそろえて $\frac{3}{6}+\frac{2}{6}=\frac{5}{6}$ です。

問3 A:B = 3:7 のとき、全体に対するAの割合はどれか。

  1. ① 3/7 (約43%)
  2. ② 3 (300%)
  3. ③ 7/10 (70%)
  4. ④ 3/10 (30%)
解答と解説

正解:④

全体は3+7=10なので、Aは10のうち3で30%です。3/7はAとBの比の値です。

問4 会員は購入者の70%で、来店者の11.2%でもある。この2つの違いについて正しい説明はどれか。

  1. ① 分子は同じ28人だが、分母が購入者か来店者かで異なる
  2. ② どちらかが計算ミスである
  3. ③ 百分率の桁の違いである
  4. ④ 来店者が多いときだけ起きる
解答と解説

正解:①

同じ分子でも、分母が違えば別の指標です。指標名に分母を含めます。

問5 利益120,000円を、A:B = 5:3 で配分したときのAの取り分はどれか。

  1. ① 200,000円
  2. ② 72,000円
  3. ③ 75,000円
  4. ④ 48,000円
解答と解説

正解:③

比の合計8、1つ分15,000円。Aは15,000×5=75,000円、Bは45,000円です。

問6 Python で 0.1 + 0.2 == 0.3 が False になる。小数の比較として適切な対処はどれか。

  1. ① 0.1と0.2を整数で書く
  2. ② 差が十分に小さいかで比較する(例:math.isclose)
  3. ③ Pythonの故障なので使わない
  4. ④ ==を=に変える
解答と解説

正解:②

小数は2進数の近似で保存されるため、見かけが同じでもわずかに違うことがあります。差の大きさで比較します。

次に学ぶこと

次は 負数・絶対値・数直線 で、負の数と数直線を学びます。差が負になる場面(予測と実績のずれ、前月比の減少)を扱えるようになります。

この授業の確認問題だけで習得とはしません。ON05 の総合テストと損益分岐点の課題で判定します。割合の復習は 比率・割合・パーセントポイント です。

キャリア学習:データサイエンティスト・機械学習エンジニア・DX推進・研究者を目指す人の学習アプリ。164モジュール・984授業を、ブラウザで動くSQLとPythonの演習で。基礎と各分野の最初のモジュールは無料。全部は2,980円の買い切り。

アプリを無料で開く有料版と無料版の違い