Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで3D配列の逆を取得する


3D配列の逆数を計算するには、Pythonでnumpy.linalg.tensorinv()メソッドを使用します。結果は、tensordot操作tensordot(a、b、ind)、iに関連する逆です。つまり、浮動小数点精度までは、tensordot(tensorinv(a)、a、ind)がテンソルドット操作の「同一性」テンソルです。このメソッドは、aのテンソルドットの逆、shape a.shape [ind:] + a.shape [:ind]を返します。

最初のパラメータは、「反転」するテンソルです。その形状は「正方形」でなければなりません。たとえば、prod(a.shape [:ind])==prod(a.shape [ind:])。 2番目のパラメーターはindで、逆和に関係する最初のインデックスの数です。正の整数である必要があります。デフォルトは2です。

ステップ

まず、必要なライブラリをインポートします-

 numpy as npfrom numpy.linalg import inv
をインポートします

アレイを作成します。 numpy.eye()は、対角線上に1があり、他の場所に0がある2次元配列を返します-

 arr =np.eye(4 * 6)

上で作成した配列の形状を変更する-

 arr.shape =(24、8、3)

配列を表示する-

 print( "Our Array ... \ n"、arr)

寸法を確認してください-

 print("\n配列の次元...\n"、arr.ndim)

データ型を取得-

 print("\n配列オブジェクトのデータタイプ...\n"、arr.dtype)

形をとる-

 print("\n配列オブジェクトの形状...\n"、arr.shape)

3D配列の逆数を計算するには、Pythonでnumpy.linalg.tensorinv()メソッドを使用します-

 print( "\ nResult ... \ n"、np.linalg.tensorinv(arr、ind =1))

 import numpy as npfrom numpy.linalg import inv#配列を作成する#numpy.eye()は、対角線上に1があり、他の場所に0がある2次元配列を返しますarr =np.eye(4 * 6)#形状を変更する上で作成された配列のarr.shape=(24、8、3)#arrayprint( "Our Array ... \ n"、arr)#を表示しますDimensionsprint("\nArrayのDimensions...\ n"、 arr.ndim)#Datatypeprint("\n配列オブジェクトのデータタイプ...\n"、arr.dtype)#Shapeprint("\n配列オブジェクトの形状...\n"、arr.shape)を取得します#3D配列の逆数を計算するには、Python.print( "\ nResult ... \ n"、np.linalg.tensorinv(arr、ind =1)) 

出力

私たちの配列...[[[1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。1。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。1。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。1。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。1。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。1。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。1。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。1。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.1。]]]配列の次元...3配列オブジェクトのデータタイプ...float64配列オブジェクトの形状...(24、8、3)結果...[[[1。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。][0。 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.0.][0。 0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。]][[ 0。 0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。]][[ 0。 0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。]][[ 0。 0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。0。]][[ 0。 0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。0。]][[ 0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。0。]][[ 0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。0。]][[ 0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。0。][0。 0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。0。1。]]]

  1. Pythonパンダ-間隔の長さを取得します

    間隔の長さを取得するには、 interval.lengthを使用します 財産。まず、必要なライブラリをインポートします- import pandas as pd 値が「どちらでもない」の「closed」パラメーターを使用して設定されたオープン間隔。開区間(角括弧で示される数学)にはその端点が含まれていません。つまり、開区間[0、5]は条件0

  2. 配列がPythonで美しいかどうかを確認します

    一意の要素の配列numsがあるとします。これらの条件が満たされているかどうかを確認する必要があります: 要素は1からnの範囲になります。 配列を昇順で並べ替えてはなりません。 したがって、入力がnums =[2,6,1,5,3,4]のような場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=numsのサイズ 合計:=nums [0] is_sorted:=True 1からn-1の範囲のiの場合、do nums[i]がnums[i-1]と同じ場合、 Falseを返す nums [i]