と仮定、私はn
要素とnumpy
ベクトルを持っているので、私は形状がm
は、例えばlog2(maxnumber)
ある(n,m)
となり得、バイナリ表記として、このベクターの番号を符号化したい:numpyのバイナリ表記迅速世代
67
ある
x = numpy.array([32,5,67])
ため、結果の形状になるように、私は、このベクトルを符号化するためにnumpy.ceil(numpy.log2(67)) == 7
ビットを必要(3,7)
array([[1, 0, 0, 0, 0, 1, 1],
[0, 0, 0, 0, 1, 0, 1],
[0, 1, 0, 0, 0, 0, 0]])
私はすぐにバイナリ表記を
関数numpy.binary_repr
からnumpy配列に移動することができないため、問題が発生します。今、私は結果を反復処理する必要がある、と別々に各ビットを置く:
brepr = numpy.binary_repr(x[i],width=7)
j = 0
for bin in brepr:
X[i][j] = bin
j += 1
それが効率的にするためにどのように、非常にtimecostと愚かな方法ですか?
http://stackoverflow.com/questions/22227595/convert-integer-to-binary-arrayを参照してください:あなたが手に持っている場合については
- 適切なパディングあり –