直積で配列を作りたいのだけれどさっぱりわからん。 後で関数を調べないと…(ほかに方法があれば教えていただきたい) #Python #NumPy https://t.co/kBC5c7ZhSg
— ムーナナ (@murnana) 2017年10月30日
発見までの道
長さlengthの2つの1次元配列から、length×2の配列(行列?)を作りたかったので。 イメージ的にはこう。
import numpy a = numpy.arange(start=0.0,stop=1.0,いくつか) b = numpy.arange(start=0.0,stop=1.0,いくつか) # ほにゃほにゃ x = # [[0.0,0.0],[0.0,1.0],[1.0,0.0],,,]
さぱらん*1のでコード書いてみた。
Python3です。
[[ 0. 0. ]
[ 0. 0.5]
[ 0. 1. ]
[ 0.5 0. ]
[ 0.5 0.5]
[ 0.5 1. ]
[ 1. 0. ]
[ 1. 0.5]
[ 1. 1. ]]
が出力されればおk。
片方の配列の長さが違ってもできる。
次元が違ってもできる(ただしconcatenateの第一引数の、一番最初の配列に合わせるようだ)。
参考
- 2つのnumpy.ndarrayから直積なnumpy.ndarrayを作る | 粉末@それは風のように (日記)
- python - How to concatenate two numpy array a, b like this - Stack Overflow
*1:テイルズオブベルセリア内でマギルゥというキャラクターがよく使う言葉。さっぱりわからんの略。