Maison > développement back-end > Tutoriel Python > 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
Libérer: 2023-05-11 13:16:13
avant
1746 Les gens l'ont consulté

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]
Copier après la connexion
#🎜. 🎜#À 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.]]
Copier après la connexion

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.]]
"""
Copier après la connexion

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]]
"""
Copier après la connexion

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]]
"""
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal