質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Q&A

解決済

2回答

3929閲覧

numpy,torch配列での10進数→2進数変換

kazuz

総合スコア20

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

0グッド

0クリップ

投稿2021/11/16 04:58

import numpy as np list_t =np.array([[10000],[10004],[40054],[500]]) print(list_t)

list_t = [[10000],[10004],[40054],[500]]これを

list_t =
[[0,0,0,1,0,0,1,1,1,0,0,0,1,0,0,0,0]
[0,0,0,1,0,0,1,1,1,0,0,0,1,0,1,0,0]
[0,1,0,0,1,1,1,0,0,0,1,1,1,0,1,1,0]
[0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0]
]
の形に変換したいのですが、良い方法はありませんか?

配列の読み込み元はCSVからなので、CSV側で2進数で記録しておくか
for文で地道に回すという方法は思いつくのですが・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

numpy.unpackbitsが使えそうです。

big endianに変換してから、unpackbitsはuint8の配列しか受け付けないので、viewを作って呼び出します。

python

1import numpy as np 2 3list_t = np.array([[10000], [10004], [40054], [500]]) 4 5list_t = list_t.astype('>u4') 6list_t = np.unpackbits(list_t.view('u1'), axis=1, bitorder='big') 7list_t = list_t[:, -17:] 8 9print(list_t) 10#[[0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0] 11# [0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0] 12# [0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0] 13# [0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0]]

投稿2021/11/16 05:42

bsdfan

総合スコア4599

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

python

1np.array([list(map(int, f'{i[0]:017b}')) for i in list_t]) 2 3# 4array([[0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0], 5 [0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0], 6 [0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0], 7 [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0]])

投稿2021/11/16 05:12

melian

総合スコア19872

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問