如何在python中将数组划分为若干个子数组

2024-04-16 22:52:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用NumPy将一个数组划分为s个子数组。我随机生成了一个范围从0到1的数组x,我想将该数组划分为等距间隔。因此,如果我想要5个间隔,它们将是间隔0到0.2,0.2到0.4,0.4到0.6,0.6到0.8,以及0.8到1.0,我想将这些数组排序到这些分区中

x=np.array(np.random.uniform(0,1,100))

def partition_array(array,S):
    a = np.linspace(0,1,S+1)
    b = np.partition(array,0)
    print(a)
    print(b)

partition_array(x,5)

a用所选的数字创建我的间隔,b只对我的数组排序。我试图使用zip函数并进行循环以读取a和b,但无法找到解决方案。有什么建议吗?多谢各位


Tags: numpy间隔排序defnprandomuniform数组
1条回答
网友
1楼 · 发布于 2024-04-16 22:52:51

如果不需要将数组作为输出,可以使用列表

import numpy as np
x=np.array(np.random.uniform(0,1,100))
#print("Array: ") <  debug
#print(x)
y = x.tolist()
#print("List: ")  <  debug
#print(y)

def divide_chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i + n]

x = list(divide_chunks(y, 3))
print("Divided list: ")
print(x)

注意,在本例中,N是作为输出得到的子列表的大小

相关问题 更多 >