私は行ごとの繰り返しの順序を把握しようとしていましたが、できませんでした。 OK。サイズのndarray私が望んだ何(2, 11, 10)
Pythonの行と列ごとの繰り返しの順序
a = np.array([
[
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 1, 0, 0, 0, 1, 1, 1, 0, 0],
[0, 1, 0, 0, 0, 1, 0, 0, 1, 0],
[1, 1, 0, 0, 1, 1, 1, 1, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[1, 0, 0, 1, 0, 1, 1, 1, 0, 0],
[1, 1, 0, 1, 1, 0, 1, 1, 0, 0],
[0, 1, 1, 1, 0, 0, 1, 1, 0, 1],
[1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 1, 0, 0, 1, 1],
[0, 1, 1, 1, 0, 0, 1, 1, 0, 1]
],
[
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 1, 0, 0, 0, 1, 1],
[0, 1, 0, 1, 0, 0, 0, 1, 0, 0],
[1, 1, 0, 1, 0, 1, 1, 1, 0, 0],
[1, 1, 0, 1, 0, 0, 0, 0, 0, 0],
[1, 1, 1, 0, 0, 0, 1, 1, 0, 0],
[1, 0, 0, 0, 1, 1, 0, 0, 1, 1],
[1, 1, 1, 0, 0, 1, 1, 1, 0, 1],
[1, 0, 0, 1, 1, 0, 1, 0, 1, 0],
[1, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[1, 1, 1, 0, 0, 1, 1, 1, 0, 1]
]
])
が列に基づいて行あたりのすべての1's
の順序を取得することです考えることができます。最初の1
が行内に見つかるたびに、注文開始は0
から開始されます。 1
が見つかった場合は2番目の行に移動し、次は1
ですが、前の行の列インデックスにすでに1
が存在する場合は無視されます。例えば
は、これらのリストを検討しましょう:
0 1 2 3 4 5 6 7 8 9 -> column index
0 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], -> no 1's no order here
1 [1, 1, 0, 0, 0, 1, 1, 1, 0, 0], -> order starts at 0
2 [0, 1, 0, 0, 0, 1, 0, 0, 1, 0], -> order starts at 1
行インデックス0
で何1
が存在しないので、何も、行インデックス1
で列インデックス[0,1,5,6,7]
中のものがあり、これは0
に等しくなります起こりません。出力は、行インデックスで
column order
0 0
1 0
2 -
3 -
4 -
5 0
6 0
7 0
8 -
9 -
2
列インデックス[1,5,8]
で1
が順玉葉ある1
であるべきです。そこに1
と5
はすでにそれには0
の注文があるので無視されますが、未知の注文の場合は1
でなければなりません。最終的な出力は、私は、インデックス値にnumpyののnp.where
メソッドを使用してみましたが
column order
0 0
1 0
2 -
3 -
4 -
5 0
6 0
7 0
8 1
9 -
する必要があります。このようなもの
index = np.asarray(np.where(a == 1)).T
私は次に何をすべきかわかりません。誰でも助けてくれますか?
私はあなたがこれをやろうとしている理由を聞いてもらえますか?私は質問が全く不明だとは思わない。私はちょうどあなたがこれでやっていることを考えることができません –
これはあなたがこれの全体的な目標を共有した場合、これらの配列は実際に何ですか? – Bemmu
@ gr1zzlybe4rこれは、スパイクニューラルネットワークエンコーダ用です。このアルゴリズムの1つを使用してスパイク時間を取得します。 – Akshay