Maison > Article > développement back-end > Comment générer plusieurs lignes de données répétées en Python
Lorsque vous effectuez des calculs ou des simulations scientifiques, je pense que de nombreux amis rencontreront de tels problèmes. Par exemple, nous avons un tableau unidimensionnel comme indiqué ci-dessous : #🎜🎜 #
array = [1, 2, 3, 4, 5]#🎜. 🎜#À ce stade, nous voulons l'empiler à plusieurs reprises le long de l'axe y. Par exemple, ici nous le définissons 3 fois, afin que nous puissions obtenir le tableau suivant.
[[1. 2. 3. 4. 5.] [1. 2. 3. 4. 5.] [1. 2. 3. 4. 5.]]
Alors on fait quoi ?
Méthode générale
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.]] """
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]] """
Pour une utilisation détaillée de la fonction np.repeat(), veuillez vous référer à cet article------fonction np.repeat().
Utilisez la fonction np.meshgrid
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]] """
Bien sûr, il existe d'autres méthodes, telles que les fonctions np.vstack() et np.concatenate() qui peuvent réaliser cette opération. Pour ces deux fonctions, vous pouvez afficher la fonction blog------np.concatenate() et la fonction np.vstack().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!