Saya mencoba membuat matriks 8*8 , jadi saya menggunakan ini:

s=np.indices((8,8))

Keluaran:

array([[[0, 0, 0, 0, 0, 0, 0, 0],
        [1, 1, 1, 1, 1, 1, 1, 1],
        [2, 2, 2, 2, 2, 2, 2, 2],
        [3, 3, 3, 3, 3, 3, 3, 3],
        [4, 4, 4, 4, 4, 4, 4, 4],
        [5, 5, 5, 5, 5, 5, 5, 5],
        [6, 6, 6, 6, 6, 6, 6, 6],
        [7, 7, 7, 7, 7, 7, 7, 7]],

       [[0, 1, 2, 3, 4, 5, 6, 7],
        [0, 1, 2, 3, 4, 5, 6, 7],
        [0, 1, 2, 3, 4, 5, 6, 7],
        [0, 1, 2, 3, 4, 5, 6, 7],
        [0, 1, 2, 3, 4, 5, 6, 7],
        [0, 1, 2, 3, 4, 5, 6, 7],
        [0, 1, 2, 3, 4, 5, 6, 7],
        [0, 1, 2, 3, 4, 5, 6, 7]]])

Namun, saya hanya ingin satu matriks yang terlihat seperti yang pertama.

0
Kshtj 2 Juni 2021, 23:12

2 jawaban

Jawaban Terbaik

Banyak cara untuk melakukan ini:

  1. Ambil elemen pertama dari hasil np.indices() Anda
np.indices((8,8))[0]
  1. Ulangi / ubin hasil np.arange()
np.tile(np.arange(8), (8, 1)).T
  1. Buat larik nol 8x8 dan tambahkan vektor kolom yang berisi angka 0-7. Biarkan penyiaran mengurus sisanya
np.zeros((8, 8)) + np.arange(8)[:, None]
# or 
(np.zeros((8, 8)) + np.arange(8)).T
  1. Kalikan vektor kolom 8x1 yang berisi angka 0-7 dengan vektor baris delapan angka. Juga menggunakan penyiaran
np.arange(8)[:, None] * np.ones((1, 8))
# or 
(np.ones((8, 1)) * np.arange(8)).T

Semua ini memberikan hasil yang sama (kecuali untuk dtype -- dua array pertama mengembalikan int, sisanya mengembalikan array float, tetapi mengubah jenisnya cukup mudah):

array([[0., 0., 0., 0., 0., 0., 0., 0.],
       [1., 1., 1., 1., 1., 1., 1., 1.],
       [2., 2., 2., 2., 2., 2., 2., 2.],
       [3., 3., 3., 3., 3., 3., 3., 3.],
       [4., 4., 4., 4., 4., 4., 4., 4.],
       [5., 5., 5., 5., 5., 5., 5., 5.],
       [6., 6., 6., 6., 6., 6., 6., 6.],
       [7., 7., 7., 7., 7., 7., 7., 7.]])

Menemukan mana yang paling efisien dibiarkan sebagai latihan bagi pembaca.

2
Pranav Hosangadi 2 Juni 2021, 21:13

Coba sesuatu seperti ini?

import numpy as np

zeors_array = np.zeros( (8, 8) )
print(zeors_array)
-1
HenryHub 2 Juni 2021, 20:17