【図解あり】Pythonの3次元配列で苦しんでる方へ | 時系列の天気予報とnumpy.zerosを例に解説

最近、3次元配列を扱うことになったのですが、直感的なイメージができず頭の中が混乱してしまいました。

どのように3次元配列をどのように理解すればよいか、自分なりの答えがでたので記事にします!

 

\オススメプログラミングスクール7選!/

強引な勧誘なし!だから入会するか悩むのは無料カウンセリング後で十分間に合いますよ!
スクール名 侍エンジニア塾 DMM WEBCAMP テックアカデミー テックキャンプ ドットプロ Aidemy Premium Plan 0円スクール
イメージ
学べる内容
  • WEB開発
  • AI(機械学習)
  • WEB開発
  • WEB開発
  • AI(機械学習)
  • IOS,Androidアプリ開発
  • ゲーム開発
  • 数学・統計学
  • WEB開発
  • AI(機械学習)
  • WEB開発(AIと組み合わせた講座あり)
  • AI(機械学習)
  • WEB開発(AIと組み合わせた講座あり)
  • AI(機械学習)
  • WEB開発
スクールの特徴
  • オーダーメイド制になっていて、受講生に合わせたオリジナルの学習カリキュラムを用意しています
  • マンツーマンレッスンで最後まで挫折させないカリキュラム
  • 通学スタイルとオンラインスタイルの両方に対応している。
  • 現役のエンジニアが学習をサポートします。
  • 現役のエンジニアがメンターがうり!
  • 講座数が30以上と多く学べる内容が多い
  • 料金は10万円台からとリーズナブル
  • 転職成功率98%がうり!
  • Youtuberのマコなり社長が運営するスクール!
  • 3人のスタッフが入会から転職までサポートするから挫折防止に強い!
  • AIとWEB開発を同時に学べるコースあり!
  • 対面受講により理解しやすい。
  • 「問題解決能力」が身につく実践的な講義がウリ!
  • AIに特化したスクール!
  • 予定よりも早くカリキュラムが終わると、他のコースの学習も可能!
  • やる気がある人ほどお得なスクール!
  • 無料でJavaの基礎、WEB開発まで学ぶことができる!
  • 個別指導により、自分のペースで学べます。
無料説明会の内容 プログラミングが向いているか?どの言語を学べばよいか?本当に未経験からエンジニアに転職できるのか?という疑問を解消できる 無料カウンセリングでは、エンジニア転職の最新動向、あなたに合ったキャリアを提案! 1週間のプログラミング体験(メンターに質問できる!)、無料カウンセリングは現役のエンジニアによる疑問解消! IT業界の不明点、プログラミングの不明点の解消 無料カウンセリング。転職、受講に関する様々な疑問の解消 初めてのAI学習の不安や疑問の解消。転職や副業、未経験からの学習にまつわるお悩みも解消! 転職、受講に関する様々な疑問の解消
無料説明会の参加特典 電子書籍プログラミング学習メソッドのプレゼント 参加特典あり(時期によって異なります) 要お問い合わせ 要お問い合せ 要お問い合せ 要お問い合せ 要お問い合せ
公式サイトに行く 公式サイト 公式サイト 公式サイト 公式サイト 公式サイト 公式サイト 公式サイト

 

 

どんなときに3次元配列を使うの?

 

3次元配列が必要になるケース

・機械学習のRNNなどの時系列で処理するもの

・天気予報など時間の流れを考慮して予測。

・自然言語処理の分野において文章を学習させる

 

まずは2次元配列をイメージしてみる

 

2次元配列ならば、CSVファイルやエクセルファイルのように行と列(つまり行列)にデータがあるものとイメージできます。

都市 気温 降水量 風向 風速 湿度 気圧
東京 25.3 0 南南西 2.4 89 1009.4
埼玉 25.2 0 西南西 1.2 89 1009.4
神奈川 24.6 0 南南東 0.4 97 1009.4
千葉 24.8 0 北西 2.3 98 1010.1
茨城 24.3 0 北西 1.3 100 1010.2
山梨 25 0 北西 1.6 99 1010.7
群馬 26 0 西北西 1.4 93 1011.3

 

2次元配列のイメージ

 

2次元配列のイメージは、以下のようなものです。

(行,列)

[[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0]]

 

3次元配列をイメージするとなると・・・

3次元配列の話になると途端に混乱してきます。

いきなり、イメージしようとしてもできるものではありません。

 

3次元配列の直感的なイメージとしては、行列が複数あるものと理解すると良いかもしれません。

エクセルの表であれば、シートが複数あるイメージです。

つまり1シートに行列でデータが入力されていて、それが日付ごとに複数のシートに記載されているイメージです。

 

3次元配列は、以下のようなデータの入り方がイメージできます。

■一般的な考え方

(奥行き,行,列)

 

■エクセルを例に取ると

(シート, 行,列)

 

 

 

3次元配列を天気予報のアメダスの例で解説

 

アメダスを例に3次元配列を解説します。

 

■アメダスのデータのもたせ方

奥行き・・・時系列(観測した時間)

行・・・都市の羅列

列・・・気温、降水量、風向きなどの観測項目

 

アメダスの例だと、奥行きの部分を天気を観測した時間、行を場所(都市名)ごと、列をそれぞれの項目とします。つまり、時間ごとに行列になったデータがあるイメージです。

■時系列のイメージ

 

3次元配列をPythonのnumpy.zeros関数で解説

 

せっかくなのでPythonで3次元配列を扱ってみます。

多次元配列を生成する際、zeros関数をよく使います。

 

numpy.zerosのマニュアル

https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html

 

 

 

簡単なソースコードを書いてみます。

import numpy as np
#奥行き(時系列)3, 5行、7列の3次元配列を記載する
data = np.zeros((3,5,7), dtype=np.int)

 

 

dataの出力結果は以下の通りで、

5行7列の行列が3つ(奥行き、または時系列)あることを確認できるかと思います。

 

array([[[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0]],

 

[[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0]],

 

[[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0],

[0, 0, 0, 0, 0, 0, 0]]])

 

 

 

3次元配列をつかう1つのケースは、RNNを使って時系列データの処理をする場合です。

私は、kerasでSimpleRNNを使ってみたのですが、SimpleRNNにデータを渡す際に、データの構造を3次元配列にする必要がありました。kerasやSimpleRNNについては、別の機会に解説したいと思います。

 

AI(機械学習)を短期間で学ぶ方法

PythonとAI(機械学習)について、短期間で効率的に学ぶ方法を紹介します。

それは、プログラミングスクールを利用することです。

プログラミングスキルを習得している人でも機械学習の習得は、難しいため、独学で迷うよりは、プロに教えてもらったほうが遥かに最短経路で身につけることができます!

 

関連記事

いますぐにでもAI(機械学習)が学べるプログラミングスクールを検討している方へ! [afTag id=2402] [template id="10277"]   筆者について 筆者は、AIプログラミン[…]

 

まとめ

3次元配列をイメージするのは、直感的にイメージするのは難しいかもしれませんが時系列で考えると比較的簡単にイメージできるかと思います。

 

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア

 

最新情報をチェックしよう!
>プログラミングスクール検索・比較表サイト

プログラミングスクール検索・比較表サイト

ワンクリック、さらに詳細に条件を指定してプログラミングスクールの検索ができます。さらに比較表により特徴を細かく比較できる!

CTR IMG