Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menjana berbilang baris data berulang dalam Python

Bagaimana untuk menjana berbilang baris data berulang dalam Python

PHPz
PHPzke hadapan
2023-05-11 13:16:131683semak imbas

Pengenalan

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?

Kaedah umum

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.]]
"""

Gunakan fungsi np.repeat

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().

Gunakan fungsi np.meshgrid

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam