murnana's diary

プリントの裏に書くとか、そんな感じです

Numpyで、2つのArrayから直積でArrayを作る


発見までの道

長さ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の第一引数の、一番最初の配列に合わせるようだ)。


参考

*1:テイルズオブベルセリア内でマギルゥというキャラクターがよく使う言葉。さっぱりわからんの略。