Maison  >  Article  >  développement back-end  >  Comment générer plusieurs lignes de données répétées en Python

Comment générer plusieurs lignes de données répétées en Python

PHPz
PHPzavant
2023-05-11 13:16:131725parcourir

Introduction

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

Utiliser la fonction np.repeat

Évidemment, la méthode ci-dessus est plus gênante. Pour simplifier, nous pouvons utiliser np.repeat. ( ) implémente cette fonctionnalité.

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

Bien sûr, pour cette situation, le moyen le plus simple est d'utiliser la fonction np.meshgrid() pour la gérer.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer