numpyのbinary_repr()
を使用すると、名前が示すように、指定された整数を2進表現に変換できます。 width
パラメータは、指定された長さ(この場合は8)の出力を可能にします。しかし、これを行列や配列に適用すると、先行ゼロが見つからないという問題が生じます。これは、バイナリ表現で文字列を使用するか、hereとしてzfill()
を使用することによって対応できます。可能な解決策の そう与える例:binary_repr()
としてループセットアップは私の知る限りでは何の配列をサポートしていません
import numpy as np
data = np.random.randint(0,100,(2,3), dtype=int)
print(data)
n,m = data.shape
data_bin = np.zeros((n, m), dtype=int)
for i in range(n):
for j in range(m):
data_bin[i, j] = np.binary_repr(data[i, j], width=8)
print(data_bin)
data_bin_str = np.zeros((n, m), dtype='|S8')
for i in range(n):
for j in range(m):
data_bin_str[i, j] = str(np.binary_repr(data[i, j], width=8))
print(data_bin_str)
注(hereを参照してください)。
input_matrixこの整数行列の一例を示す必要があります... –