python numpy配列を展開して取り込む最も簡単な方法は何ですか?最初numpyの配列は次のとおりnumpy配列を展開して配置する
[1,3]、[1,2]、[1,5]
展開した後、アレイがなければならない:
[1,3,9,27]、[1,2,4,8]、[1,5,25,125]
新しく追加された列が2列の二乗と乗値であります。
ありがとうございます!
python numpy配列を展開して取り込む最も簡単な方法は何ですか?最初numpyの配列は次のとおりnumpy配列を展開して配置する
[1,3]、[1,2]、[1,5]
展開した後、アレイがなければならない:
[1,3,9,27]、[1,2,4,8]、[1,5,25,125]
新しく追加された列が2列の二乗と乗値であります。
ありがとうございます!
各行の1をスキップして、ブロードキャストを使用して希望のデカルト積を作成するだけです。
import numpy as np
a = np.array([[1,3], [1,2], [1,5]])
b = a[:, 1:] ** np.arange(4)
print(b)
出力
[[ 1 3 9 27]
[ 1 2 4 8]
[ 1 5 25 125]]
スライスa[:,[1]]
と寸法を維持第二カラム、我々は大きさを維持していたので、**[2,3]
とbroadcasting
活用パワー操作を実行した後、新しい列として出力スタックnp.c_
(スタックする方法の1つ)。
したがって、実装 -
サンプル出力 -
In [902]: np.c_[a,a[:,[1]]**[2,3]]
Out[902]:
array([[ 1, 3, 9, 27],
[ 1, 2, 4, 8],
[ 1, 5, 25, 125]])
あなたは最高です! –