Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menjana berbilang baris data berulang dalam Python
Apabila melakukan pengiraan atau simulasi saintifik, saya percaya ramai rakan akan menghadapi masalah seperti ini, contohnya, kita mempunyai tatasusunan satu dimensi seperti yang ditunjukkan di bawah:
array = [1, 2, 3, 4, 5]
Pada ketika ini. , kami ingin menyusunnya berulang kali di sepanjang paksi-y, sebagai contoh, di sini kami menetapkannya 3 kali, supaya kami boleh mendapatkan tatasusunan berikut.
[[1. 2. 3. 4. 5.] [1. 2. 3. 4. 5.] [1. 2. 3. 4. 5.]]
Jadi apa yang perlu kita lakukan?
import numpy as np array = np.array([1, 2, 3, 4, 5]) # 原始数组 repeat_time = 3 # 沿着y轴堆叠的次数 array_final = np.ones([repeat_time, len(array)]) for i in range(repeat_time): array_final[i, :] = array print(array_final) """ result: [[1. 2. 3. 4. 5.] [1. 2. 3. 4. 5.] [1. 2. 3. 4. 5.]] """
Jelas sekali, kaedah di atas lebih menyusahkan, kita boleh menggunakan fungsi np.repeat() untuk melaksanakan fungsi ini.
import numpy as np array = np.array([1, 2, 3, 4, 5]) # 原始数组 repeat_time = 3 # 沿着y轴堆叠的次数 array_final = np.repeat(array.reshape(1, -1), axis=0, repeats=repeat_time) print(array_final) """ result: [[1 2 3 4 5] [1 2 3 4 5] [1 2 3 4 5]] """
Untuk penggunaan terperinci fungsi np.repeat(), sila rujuk artikel ini------fungsi np.repeat().
Sudah tentu, untuk situasi ini, cara paling mudah ialah menggunakan fungsi np.meshgrid() untuk mengendalikannya.
import numpy as np array = np.array([1, 2, 3, 4, 5]) # 原始数组 repeat_time = 3 # 沿着y轴堆叠的次数 array_1 = array.copy()[0:repeat_time] array_final, array_final1 = np.meshgrid(array, array_1) print(array_final) """ result: [[1 2 3 4 5] [1 2 3 4 5] [1 2 3 4 5]] """
Sudah tentu, terdapat kaedah lain, seperti fungsi np.vstack() dan np.concatenate() yang boleh mencapai operasi ini. Untuk kedua-dua fungsi ini, anda boleh melihat blog------fungsi np.concatenate() dan fungsi np.vstack().
Atas ialah kandungan terperinci Bagaimana untuk menjana berbilang baris data berulang dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!