Menu
CoddyTech

形状とサイズ

CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 6/60。

機械学習のデータは表です。サンプルごとに1行、特徴量ごとに1列です。リストのリストを使うと、2D配列を作れます。

scores = np.array([[8, 6, 9, 7],
                   [7, 10, 5, 8]])

scores 配列を2行4列の数値のグリッドとして描いた図。タイトルは scores.shape is (2, 4)

配列は自分自身のサイズを把握しています。括弧は不要です。これらは関数ではなく、保存された情報です。

print(scores.shape)  # 行、列
print(scores.ndim)   # 次元数
print(scores.size)   # 要素数
print(scores.dtype)  # 要素のデータ型

これは次のように出力します:

(2, 4)
2
8
int64

新しいデータでは、まず形状を確認しましょう。モデルはサンプルごとに1行を想定しています。

challenge icon

チャレンジ

簡単

2つの映画館がチケットの表を結合できるのは、レイアウトが一致する場合だけです。Parkのチケットはrowsに、Plazaのチケットはplazaに入っています。

  1. rowsを配列parkに変換します。
  2. 各映画館の日数、上映回数、値の数を、Parkを先にして出力します。
  3. Same layout:とTrueまたはFalseを出力します。

上映回数が3回の2日分(48、112、65、続いて37、98、120)の場合:

Park: 2 days, 3 showings a day, 6 values
Plaza: 7 days, 4 showings a day, 28 values
Same layout: False

自分で試してみよう

import numpy as np

# Park 映画館のチケット販売枚数:1日につき1行、上映回ごとに1つの値
days = int(input())
showings = int(input())
rows = []
for day in range(days):
    row = []
    for showing in range(showings):
        row.append(int(input()))
    rows.append(row)

# Plaza 映画館のチケット販売枚数:1日につき1行、上映回ごとに1つの値
plaza = np.array([
    [34, 58, 91, 40],
    [29, 63, 85, 37],
    [41, 70, 96, 52],
    [38, 66, 102, 47],
    [55, 88, 120, 74],
    [72, 95, 131, 80],
    [60, 81, 99, 45],
])

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

データとプロットのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ