前提・実現したいこと
Pythonで2次元配列から0以外の要素を抽出したいです。
但し,列ごとに抽出したいです。例えば、
[[0. 0. 0. 0. 0. 0.12 0. 0. 0. 0. ] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.35 ] [0.43 0.434 0.432 0. 0. 0. 0. 0. 0. 0. ] [0. 0. 0. 0.74 0.62 0. 0. 0. 0.76 0. ] [0. 0. 0. 0. 0. 0. 0.87 0.99 0. 0. ]]
この様な配列の場合、
[[0.12] [0.35] [0.43 0.434 0.432] [0.74 0.62 0.76] [0.87 0.99]]
この様にして配列として取得したいです。
試したこと
以下の様に行うと
Python
1import numpy as np 2 3scale = 5 4list1 = [0.43, 0.434, 0.432, 0.74, 0.62,0.12,0.87,0.99,0.76,0.35] 5list2 = np.zeros((scale,len(list1))) 6 7for i, v in enumerate(list1): 8 list2[int(abs(v)*scale),i] = v 9 10print(list2) #list2に今回分類したい配列が入っています。 11 12list3=(list2[list2>0]) 13print(list3)
[0.12 0.35 0.43 0.434 0.432 0.74 0.62 0.76 0.87 0.99 ]
1次元で全部纏められてしまいダメでした。
補足情報(FW/ツールのバージョンなど)
Python 3.9.4
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/20 07:02