Bagaimana untuk menjana berbilang baris data berulang dalam Python

PHPz
Lepaskan: 2023-05-11 13:16:13
ke hadapan
1723 orang telah melayarinya

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]
Salin selepas log masuk

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.]]
Salin selepas log masuk

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.]]
"""
Salin selepas log masuk

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]]
"""
Salin selepas log masuk

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]]
"""
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!