Rumah >pembangunan bahagian belakang >Tutorial Python >Tatasusunan NumPy: Apakah Perbezaan Antara Bentuk (R, 1) dan (R,) dan Bagaimana Ia Mempengaruhi Pendaraban Matriks?
Dalam NumPy, anda mungkin menghadapi tatasusunan dengan bentuk (R, 1) dan (R,). Walaupun bentuk ini mungkin kelihatan serupa, ia mewakili tafsiran berbeza bagi data asas.
Susun atur dengan bentuk (R, 1) ialah tatasusunan 2D dengan baris R dan lajur tunggal. Ia pada asasnya adalah vektor lajur, yang boleh dianggap sebagai senarai elemen R. Sebaliknya, tatasusunan dengan bentuk (R,) ialah tatasusunan 1D dengan elemen R. Ia merupakan senarai dengan berkesan, dengan setiap elemen mewakili nilai skalar.
Pilihan reka bentuk NumPy untuk tidak disukai (R, 1) bentuk untuk pendaraban matriks berpunca daripada fleksibiliti yang wujud. Membenarkan kedua-dua bentuk membolehkan pengaturcara memilih perwakilan yang paling sesuai untuk tugas khusus mereka. Walaupun bentuk (R, 1) lebih mudah untuk pendaraban matriks, bentuk (R,) mungkin lebih disukai dalam konteks lain, seperti apabila bekerja dengan vektor atau senarai nilai skalar.
Tanpa membentuk semula tatasusunan secara eksplisit, terdapat pendekatan alternatif untuk melaksanakan pendaraban matriks. Sebagai contoh, menggunakan fungsi np.expand_dims() boleh mencapai perubahan bentuk yang diingini. Sebagai alternatif, anda boleh memanfaatkan penyiaran, yang NumPy lakukan secara automatik dalam keadaan tertentu. Contohnya, dalam ungkapan numpy.dot(M[:,0], numpy.ones((1, R))), penyiaran akan secara automatik mengembangkan numpy.ones((1, R)) kepada numpy.ones((R) , 1)).
Atas ialah kandungan terperinci Tatasusunan NumPy: Apakah Perbezaan Antara Bentuk (R, 1) dan (R,) dan Bagaimana Ia Mempengaruhi Pendaraban Matriks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!