2016-09-17 22 views
1

整数のnp配列を12ビットの2進数に配列形式で変換する必要があります。これを行う最善の方法は何でしょうか?整数の整数配列を12ビットのバイナリに変換する

私はちょっと立ち往生していますので、何か助けていただければ幸いです。ありがとう!ここで

私はバイナリの整数に変換しなければならないものである:

def dec_to_binary(my_int): 
""" 

Format a number as binary with leading zeros""" 
if my_int < 4096: 
    x= "{0:12b}".format(my_int) 
    return int(x) 
else: 
    return 111111111111 
+0

私ができる午前単一の整数をバイナリに変換することはできますが、npを反復する方法を理解することはできませんエラーなしで値を変更してください: – Broncos423

+0

**上記参照** – Broncos423

+2

「バイナリ番号」とはどういう意味ですか?このようなPythonオブジェクトはありません。 –

答えて

1

わずか補正(012b12bを置き換える):

def dec_to_binary(my_int): 
    """ 
    Format a number as binary with leading zeros 
    """ 
    if my_int < 4096: 
     return "{0:012b}".format(my_int) 
    else: 
     return "111111111111" 

例:

In [10]: n_array = np.array([123,234,234,345, 4097]) 

In [11]: map(dec_to_binary, n_array) 
Out[11]: 
['000001111011', 
'000011101010', 
'000011101010', 
'000101011001', 
'111111111111'] 
+1

'format(my_int、 '012b')'もうまくいきます... –