Movatterモバイル変換


[0]ホーム

URL:


Yukun's Blog

難しいことを簡単に分かりやすく紹介

フォローする

Python: NumPyアレイの行と列の入れ替え(転置) – .T, transpose(), swapaxes()

Python

Pythonの数値計算モジュールであるNumPyのアレイに対する行・列の入れ替え(転置)に関わるメソッドを記載する。

ソースコード

Python 3系の書式で記載。一見だと転置処理がわかりにくい場合もあるので、末尾の公式ドキュメント(サンプルソース記載有り)も合わせて参照して理解度を確認した方が良い。

import numpy as np# 4x4のアレイを作成 (reshape(row, col)メソッドでrow行col列のアレイへ修正arr = np.arange(16).reshape((4,4))print("arr == \n", arr)# .Tで転置したアレイを出力(arr自体は書き換わらない)print("arr.T == \n", arr.T)# transpose()メソッドでも同様に転置される。print("arr.transpose() == \n", arr.transpose())# transpose(n1, n2, n3...)と引数入れ替え順序を指定可能# 指定できる引数の数は次元数で指定数値は0, 1, ...print("arr.transpose(1, 0) == \n", arr.transpose(1, 0))# この場合、↑の結果はarr.transpose()、arr.Tと同値。# 軸の入れ替えとしてはswapaxes()もあるprint("arr.swapaxes(0,1) == \n", arr.swapaxes(0,1))# 3次元の行列を作成arr3d = np.arange(12).reshape((3,2,2))print("\n arr3d == \n", arr3d)# 下記のtransposeの意味は、2x2行列(3つ)の要素の順序は同じくし# 2x2行列内の転置を行う。print("arr3d.transpose((0,2,1)) == \n", arr3d.transpose((0,2,1)))

実行結果

arr == [[ 0  1  2  3] [ 4  5  6  7] [ 8  9 10 11] [12 13 14 15]]arr.T == [[ 0  4  8 12] [ 1  5  9 13] [ 2  6 10 14] [ 3  7 11 15]]arr.transpose() == [[ 0  4  8 12] [ 1  5  9 13] [ 2  6 10 14] [ 3  7 11 15]]arr.transpose(1, 0) == [[ 0  4  8 12] [ 1  5  9 13] [ 2  6 10 14] [ 3  7 11 15]]arr.swapaxes(0,1) == [[ 0  4  8 12] [ 1  5  9 13] [ 2  6 10 14] [ 3  7 11 15]] arr3d == [[[ 0  1]  [ 2  3]] [[ 4  5]  [ 6  7]] [[ 8  9]  [10 11]]]arr3d.transpose((0,2,1)) == [[[ 0  2]  [ 1  3]] [[ 4  6]  [ 5  7]] [[ 8 10]  [ 9 11]]]

参考サイト

関連記事

NO IMAGE

Python: 辞書の全てのキーと値をソートしてたどる – sorted()関数

ソースコード#!/usr/bin/python# coding: UTF-8# 辞書の全てのキーと値をソートしてたどる | sort...

Python: 東京都 新型コロナウイルス(COVID-19)陽性患者発表詳細のcsvデータを積み上げグラフ表示

Python pandasのデータフレームの学習がてら表題のオープンデータを用いて日時の陽性者数を年代別に積み上げグラフとして出力するスク...

NO IMAGE

Python: SQLiteにデータを格納、検索、出力 – pysqlite

レコードの検索や格納処理性能がオープンソースのDBで間に合う程度の問題であれば、積極的に使っていきたいです。それによって、他のロジックのコー...

NO IMAGE

Python: 辞書の全てのキーと値をたどる – items(), keys(), values()メソッド

ソースコード#!/usr/bin/python# coding: UTF-8# 辞書の全てのキーと値をたどる | items(), ...

NO IMAGE

Python: リストの初期化・出力・代入・要素数

ソースコード#!/usr/bin/python# coding: UTF-8# リストの初期化numbers = strings...

NO IMAGE

Python: 10進数整数を2進数文字列に変換する関数

2進数文字列を10進数整数に変換する関数int()はありますが、>>> int('1011', 2)11その逆の、10進数整数を2...

Mac OSにpyenvを使用してPython環境をインストール・設定

当記事の目的Pythonインタプリタのバージョン管理ツールであるpyenvをHomebrewを用いてインストールし、Python v3....

NO IMAGE

Python: リスト内包表記(リストコンプリヘンション)をfor文に書き換える

リスト内包表記を知ることでコードのリーディングとライティングを早めることが出来ます(パフォーマンスもfor文より良いです)。そこでリスト内包...

NO IMAGE

Python: 正規表現の基本 – 繰り返し「*」「+」「?」

ソースコード# coding: Shift_JISimport re # 正規表現を扱うモジュールのインポート# 正規表現のチェック...

NO IMAGE

Python: CSVファイルに書き込み – csv.writerオブジェクト

試しにチャット履歴をCSVファイルに保存するという場合の例を取り上げます。まぁ実際はメッセンジャーアプリのXMLファイル等をコンバートして保...


コメント

  1. Python関連 – BLOGより:

    […] ・http://www.yukun.info/blog/2016/08/python-numpy-array-transpose.html […]

コメントをどうぞコメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

検索


Sponsored Link

最近の投稿

カテゴリー

アーカイブ

最近のコメント


[8]ページ先頭

©2009-2025 Movatter.jp