LESSON 16

データ分析の総合演習

問いを決め、Pythonで確かめ、結果を言葉で説明します。

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

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

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

今回のファイル名lesson16_review.py

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

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

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

復習 1・第1回

表示

print(8 + 4)

結果は?

考え方を見る

最初から全部を理解しなくて大丈夫です。コードを上から、使っている処理ごとに分けます。

  1. printは、かっこの中の計算結果を表示します。
  2. 8と4を足します。
  3. 最後に、計算結果と選択肢を比べます。
ヒントを見る

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

復習 2・第2回

変数

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

最後のxは?

考え方を見る

最初から全部を理解しなくて大丈夫です。コードを上から、使っている処理ごとに分けます。

  1. 最初に、変数xへ5を入れます。
  2. 次に、xを3倍した15へ更新します。
  3. printは更新後のxを表示します。
ヒントを見る

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

復習 3・第3回

条件分岐

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

表示は?

考え方を見る

最初から全部を理解しなくて大丈夫です。コードを上から、使っている処理ごとに分けます。

  1. 最初に、変数nへ7を入れます。
  2. ifで、7が5以上か条件分岐します。
  3. 条件が正しいので、字下げされたprintを実行します。
ヒントを見る

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

復習を終えたことを確認

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

◎
今日のゴール

データから根拠を見つけ、プログラムの結果と結論を結びつけられる。

  • ✓調べたい問いを確認できる
  • ✓必要な集計を選べる
  • ✓結果を根拠に短く説明できる
STEP 1

分析は問いから始めよう

今からやること
  1. 問い・データ・方法を整理する
  2. 二つのグループをPythonで比べる
  3. 平均と範囲の両方を見る
  4. 結果を文章で説明する
  5. 総合問題で16回を振り返る

数字を計算するだけでは分析になりません。「A組とB組では、どちらの点数が高く、どちらがそろっているか」のように、先に調べたい問いを決めます。

問いを決める→必要な値を計算→結果を比べる→根拠と結論を書く

丸括弧の見方:(75.0, 30)は、平均75.0と範囲30をまとめた結果です。この講座では左が平均、右が範囲と読めれば十分です。

STEP 2

二つのグループを比べよう

今回のファイル名lesson16_step02.py

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

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

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

この順番で実践します
  1. lesson16_step02.pyへ、見本コードを一文字ずつ入力する
  2. まだ実行せず、結果を予想する
  3. 保存して、VS Code右上の▶を押す
  4. 下のターミナルと教材の結果を比べる
A = [60, 70, 80, 90]
B = [70, 72, 74, 76]

def summary(data):
    average = sum(data) / len(data)
    data_range = max(data) - min(data)
    return average, data_range

print("A", summary(A))
print("B", summary(B))

正しい説明はどれ?

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

STEP 3

結果を文章にしよう

結論は「どちらが良い」と一つに決めず、計算結果を根拠にします。

『値がそろっている』根拠になるのは?

STEP 4

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

今回のファイル名lesson16_step04.py

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

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

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

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

結果の誤りを直す

これは紙に書く問題です。見本の選択問題の説明を、実行結果に合う文章へ直します。Pythonファイルはまだ書き換えません。

考え方を見る

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

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. 「平均」と「範囲」を混ぜず、AとBの数を同じ種類どうしで比べます。

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

Aの平均75とBの平均73、Aの範囲30とBの範囲6を比べます。

答えを見る

「Aは平均が高く、Bは範囲が小さい」が正しい説明です。

この一文を紙に書けたら完了です。

必須 2

別のデータを分析

C=[50,60,70]、D=[60,60,60]をsummary関数で比べます。

考え方を見る

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

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. 見本と同じsummary関数を使い、入力データだけをCとDへ変えます。

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

見本のAとBをCとDへ書き換えます。

答えを見る
def summary(data):
    return sum(data)/len(data), max(data)-min(data)
C=[50,60,70]
D=[60,60,60]
print(summary(C))
print(summary(D))

(60.0, 20)、(60.0, 0)の順に表示されたら成功です。

必須 3

結論を書く

これは文章で答える問題です。CとDの結果を、平均と範囲の両方を使って紙へ1文で書きます。Pythonファイルは書き換えません。

考え方を見る

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

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. 平均が同じことを先に書き、次に範囲の違いから値のそろい方を説明します。

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

「平均は〜。一方、範囲は〜」の形にします。

答えを見る

平均はどちらも60だが、Dは範囲0でCの20より小さく、値がそろっている。

平均と範囲の両方を使った一文を書けたら完了です。

16回の学習を確認

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

時間が余ったら

できるだけ解いてみよう

全8問

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

  1. 1. AとBの平均を比べる
    ヒントを見る

    同じsummary関数を使います。

    答えを見る
    print(summary(A), summary(B))
  2. 2. 範囲が小さい意味
    ヒントを見る

    最大値と最小値の差です。

    答えを見る
    値の散らばりが小さく、そろっている。
  3. 3. 問いを一つ作る
    ヒントを見る

    どちらが〜か、の形にします。

    答えを見る
    A組とB組では、どちらの平均が高いか。
  4. 4. 必要なデータを確認
    ヒントを見る

    問いに関係する値だけを使います。

    答えを見る
    各グループの点数データ。
  5. 5. 結論に数値を入れる
    ヒントを見る

    平均や範囲を根拠にします。

    答えを見る
    Aの平均75はBの73より2点高い。
  6. 6. 平均だけで判断しない理由
    ヒントを見る

    散らばりも見ます。

    答えを見る
    同じ平均でもデータの広がりが異なるため。
  7. 7. コードを4部分へ分ける
    ヒントを見る

    入力、関数、集計、表示です。

    答えを見る
    データ→summary→計算→print
  8. 8. 16回で使った読み方
    ヒントを見る

    変数の値を上から追います。

    答えを見る
    処理を分け、途中の値を表にして追う。