LoginSignup
1
0

More than 1 year has passed since last update.

【Python演算処理】三次元配列を扱えるのはnumpyと…xarray?

Last updated at Posted at 2021-08-13

どうやらSympyは三次元配列を扱えないらしい?
【Python演算処理】微分の概念を高校数学段階からグレードアップ?
【Python演算処理】環論に立脚した全体像再構築②同値関係の再習
気になって色々調べてみました。完全なメモ投稿…

numpyの場合

numpyは標準で扱える様です。
Python: 3次元配列のイメージ (numpy.array)
確認用プログラム

 import numpy as np

 X = np.array([[[1,  2,  3],
                   [4,  5,  6]],
                  [[7,  8,  9],
                   [10, 11, 12]]])

# 最初の数字が三次元目の軸(奥行き方向)、2番目が二次元目の軸(縦)、3番目が一次元目(横)
print(X[0, 1, 2])
# 奥行き軸(axis=0)の0番目を取り出す
print(X[0, :, :])
# 縦軸(axis=1)の1番目を取り出す
print(X[:, 1, :])

出力結果

6
[[1 2 3]
 [4 5 6]]
[[ 4  5  6]
 [10 11 12]]

なかなか頼もしいじゃないですか。時間があったらじっくり研究してみましょう(棒読み)。

pandasの場合

pandasではかつてPanelオブジェクトがそれを担当していた様です。
pandasで3次元のデータ構造を扱う

ところがなくなってしまった様です。
pandas.Panelクラス廃止されたけど、Pandasで3次元データを作成するには?

代わりに台頭してきたのがxarray packageだとか。
Pandasとセットで理解するxarray:データ構造編
xarray を用いたデータ解析

Panelもxarrayも「ラベル付き多次元配列」と呼ばれており、単なる三次元配列構造ではなさそうなのも気掛かりです。

そもそも三次元配列操作そのものにニーズがない?

そういえばExelに(二次元概念を超越した操作を可能とする)タブ機能が追加されたのは。1990年代に彗星の如く現れたライバル表計算ソフトQuattro Proに対抗する為でした。
Quattro Pro - Wikipedia

複数のワークシートをタブで切り替えて表示するユーザインタフェースを最初に採用した表計算ソフトであり、またオブジェクトをマウスの右ボタンでクリックすることでコンテキストメニューを表示するユーザインタフェースを最初に採用したWindows用のアプリケーションソフトある。このユーザインタフェースはやがてライバルであるMicrosoft Excelにも採用され、現在ではWindowsにおける標準的なユーザインタフェースとなっている。

本当に使いこなせる人間は人類のごく僅かに過ぎないとか?
【雑記】表計算ソフト栄枯盛衰~むかし、Quattro Pro(クワトロ・プロ)というソフトウェアがあった~

というより、最大の要因は「微積分演算(およびそれと連動して機能する行列演算が)がN次元操作を(二次元配列まで使えれば事足りる)連立一時方程式に書き換えてしまう為」とも見て取れるのです。
高校数学からヤコビアンに至るまで

{\int U(x,y,z)dV=\int_{0}^{2π}\int_{0}^{π}\int_{0}^{1}U(r,θ,φ)r^2\sinθdrdθdφ\\
=\int_{0}^{2π}\int_{0}^{π}\int_{0}^{1}\begin{vmatrix}
\frac{∂x}{∂r} & \frac{∂x}{∂θ}  & \frac{∂x}{∂φ}\\
\frac{∂y}{∂r} & \frac{∂y}{∂θ}  & \frac{∂y}{∂φ}\\
\frac{∂z}{∂r} & \frac{∂z}{∂θ} & \frac{∂z}{∂φ}
\end{vmatrix} drdθdφ
}

【Python演算処理】特異点を巡る数理の自分なりのまとめ。

面白い事になってきやがった(次元大介)」…そんな感じで以下続報?

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0