LESSON 13

データの特徴を数で表そう

平均・中央値・範囲をPythonで求め、違いを説明します。

40分
必須
必須・これまでの復習

これまでの内容から、3問を復習しよう

前回までの問題からランダムに3問が表示されます。同じ復習用ファイルを書き換えながら進めます。

今回のファイル名lesson13_review.py

レッスン番号と使う場面が分かる名前にして、あとで探しやすくします。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson13_review.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson13_review.pyと表示されたら準備完了です。

復習 1・第1回

表示

print(8 + 4)

結果は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「結果は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「8+4で12です。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習 2・第2回

変数

x=5
x=x*3
print(x)

最後のxは?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「最後のxは?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「5の3倍で15です。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習 3・第3回

条件分岐

n=7
if n>=5:
    print("A")

表示は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「表示は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「7は5以上です。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習を終えたことを確認

実際に自分のパソコンで行ってから、チェックを入れてください。

◎
今日のゴール

一つの数字だけで判断せず、目的に合う代表値を選べる。

  • ✓平均の求め方を説明できる
  • ✓中央値を並べ替えて探せる
  • ✓最大値と最小値から範囲を求められる
STEP 1

なぜ代表値が必要なの?

今からやること
  1. 平均・中央値・範囲の役割を知る
  2. Pythonで3種類の値を求める
  3. 外れた値が平均へ与える影響を見る
  4. 二つのデータを比べる
  5. 必須問題で自分で確かめる

5人分の点数を全部読むより、「中心はどのくらいか」を一つの数で表すと比べやすくなります。ただし、平均だけでは分からないこともあります。

第12回:データ→第13回:特徴を数にする→第14回:区間別に見る

この講座では:平均・中央値・範囲がそれぞれ何を表すかを選べれば十分です。

STEP 2

Pythonで3種類の値を求めよう

今回のファイル名lesson13_step02.py

レッスン番号と使う場面が分かる名前にして、あとで探しやすくします。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson13_step02.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson13_step02.pyと表示されたら準備完了です。

この順番で実践します
  1. lesson13_step02.pyへ、見本コードを一文字ずつ入力する
  2. まだ実行せず、結果を予想する
  3. 保存して、VS Code右上の▶を押す
  4. 下のターミナルと教材の結果を比べる
scores = [50, 80, 60, 90, 70]
sorted_scores = sorted(scores)
average = sum(scores) / len(scores)
median = sorted_scores[int(len(scores) / 2)]
data_range = max(scores) - min(scores)

print(sorted_scores)
print(average)
print(median)
print(data_range)

中央値はいくつ?

先に自分のパソコンで実行しましょう。画面に出た結果を見てから、下のボタンを押します。

STEP 3

平均だけで決めない理由を確かめよう

データの一つを90から200へ変えると、平均は大きく動きます。一方、中央値は真ん中の値なので、極端な一つの値の影響を受けにくい特徴があります。

data = [50, 60, 70, 80, 200]
print(sum(data) / len(data))
print(sorted(data)[int(len(data) / 2)])

表示される平均と中央値の組は?

STEP 4

ここまで分かったか確認しよう

今回のファイル名lesson13_step04.py

この回の必須問題で使うファイルです。問題ごとに中身を書き換えます。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson13_step04.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson13_step04.pyと表示されたら準備完了です。

必須問題の進め方
  1. lesson13_step04.pyを作る
  2. 問題のコードを入力して保存・実行する
  3. 同じファイルを書き換えて次の問題へ進む
必須 1

平均を求める

[60,70,80,90]の平均を表示します。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. 4個の値を全部足し、データの個数4で割ります。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

sum(data) / len(data)を使います。

答えを見る
data=[60,70,80,90]
print(sum(data)/len(data))

ターミナルに75.0と表示されたら成功です。

必須 2

中央値を求める

[9,2,7,5,3]を並べ替え、中央値を表示します。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. まず小さい順へ並べ、5個の真ん中である3番目を選びます。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

まずsortedで小さい順にします。

答えを見る
data=[9,2,7,5,3]
data=sorted(data)
print(data[len(data)//2])

ターミナルに5と表示されたら成功です。

必須 3

範囲を比べる

AとBの範囲を求め、散らばりが大きい方を確認します。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. AとBそれぞれで最大値から最小値を引き、大きい方を比べます。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

最大値から最小値を引きます。

答えを見る
A=[40,50,60]
B=[20,50,80]
print(max(A)-min(A))
print(max(B)-min(B))

20、60の順に表示され、Bの範囲が大きいと分かれば成功です。

実践したことを確認

実際に自分のパソコンで行ってから、チェックを入れてください。

時間が余ったら

できるだけ解いてみよう

全8問

全部終わらなくても大丈夫です。上から順番に挑戦しましょう。

  1. 1. [10,20,30]の平均
    ヒントを見る

    合計を個数で割ります。

    答えを見る
    print(sum(data)/len(data))
  2. 2. [9,1,5]の中央値
    ヒントを見る

    小さい順に並べます。

    答えを見る
    sorted(data) # [1,5,9]、中央値5
  3. 3. [3,8,11]の範囲
    ヒントを見る

    最大値−最小値です。

    答えを見る
    11-3 # 8
  4. 4. 平均が同じ二組を作る
    ヒントを見る

    合計と個数を同じにします。

    答えを見る
    A=[4,5,6]
    B=[1,5,9]
  5. 5. 外れた値の影響を説明
    ヒントを見る

    平均と中央値の動きを比べます。

    答えを見る
    平均は大きく動きやすいが、中央値は影響を受けにくい。
  6. 6. 偶数個の中央値
    ヒントを見る

    中央の二つの平均です。

    答えを見る
    median=(data[1]+data[2])/2
  7. 7. 最大値を表示
    ヒントを見る

    maxを使います。

    答えを見る
    print(max(data))
  8. 8. 最小値を表示
    ヒントを見る

    minを使います。

    答えを見る
    print(min(data))