【python】配列reshape時の挙動を図解!事例を使って解説!

この記事ではpython上で配列をreshapeしたときに、配列の内部要素がどのように配置されていくのかを解説していきます。

 

図をつかって解説していきますので、初心者の方でも理解しやすい内容になっていると思います。

 

それではさっそくやっていきましょう。

 

スポンサーリンク

配列のreshapeとは

まず始めに、この記事はpython初心者の方も多く読んでいると思いますので、配列をreshapeするとはどうゆうことなのかを解説しておきます。

 

配列をreshapeするというのは、ある行数、列数をもった配列を別の行数、列数の配列に変換する作業を指します。

 

例えば、1行×16列の配列をreshapeすることで、4行×4列とか2行×8列の配列に変換することが可能です。

 

python上でのコーディングは以下の要領で行います。

【reshape後の配列変数】=【reshapeされる配列変数】.reshape(行数, 列数)
例:array2=array1.reshape(4,4)

 

では、このとき配列内部の要素はどのように配置されていくのでしょうか?

 

実際の配列をつかって検証してみましょう。

 

スポンサーリンク

reshape時の配列配置

というわけで、実際にプログラムを動かして配列をreshapeしたときに内部の要素がどのように配置されていくのかを確認していきましょう。

 

今回ベースとなる配列として以下のような配列を準備しています。

(単純な1列の配列に左上から順番に数値が入っているだけですね。)

使用するサンプル配列データ

今回はdataという変数にこの配列を格納した状態でスタートです。

 

では実際にreshapeしてみましょう。

 

まずは1行、16列にしてみましょう。

以下のコードでreshapeします。

data_4_4=data.reshape(4,4)

 

こいつを実行後、

print(data_4_4)

を実行して、どのように変換されたか確認してみましょう。

 

以下の結果が出力されました。

4×4にreshapeした結果

 

図で表すと以下のような動き方ですね。

reshape前後の配列の色をご確認ください。

各色の中には4つの要素が入っていると思ってください。

4×4にreshapeした際の挙動確認

 

次はこの4×4をreshapeして2×8にしてみましょう。

以下のコードでreshapeします。

※先ほどのコードの続きで実行します。

data_2_8=data_4_4.reshape(2,8)

 

こいつを実行後、

print(data_2_8)

を実行して、どのように変換されたか確認してみましょう。

 

以下の結果が出力されました。

2×8にreshapeした際の結果

 

先ほど同様に、図で表すと以下のような動き方ですね。

2×8にreshapeした際の挙動確認

 

基本的には、

①まずはスタートは左上

②優先順位は左方向

③右端までいったら1行したへ

というルールのようですね。

 

基本的にはトリッキーなことは一切なく、イメージ通りだったと思いますが、もし勘違いしていた方がいれば、この機会によく上の絵を覚えておきましょう、

 

スポンサーリンク

おわりに

というわけで今回はpythonの配列reshape時の配置について確認してみました。

私自身、これまで感覚だけでやっていたので良い確認になりました。

 

このように、私のブログでは様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村 IT技術ブログへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました