Home >Backend Development >Python Tutorial >How to generate multiple rows of repeated data in Python

How to generate multiple rows of repeated data in Python

PHPz
PHPzforward
2023-05-11 13:16:131747browse

Introduction

When doing scientific calculations or simulations, I believe many friends will encounter such problems. For example, we have a one-dimensional array as shown below:

array = [1, 2, 3, 4, 5]

At this point, we want to stack it repeatedly along the y-axis. For example, here we set it 3 times, so that we can get the following array.

[[1. 2. 3. 4. 5.]
 [1. 2. 3. 4. 5.]
 [1. 2. 3. 4. 5.]]

So what should we do?

General method

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

Use np.repeat function

Obviously, the above method is more troublesome. To simplify, we can use the np.repeat() function to implement this function.

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

For detailed usage of the np.repeat() function, please refer to this article------np.repeat() function.

Use np.meshgrid function

Of course, for this situation, the easiest way is to use np.meshgrid() function to handle it.

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

Of course, there are other methods, such as np.vstack() and np.concatenate() functions, which can achieve this operation. For these two functions, you can view the blog------np.concatenate() function and np.vstack() function.

The above is the detailed content of How to generate multiple rows of repeated data in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete