我有一个包含5个项目的列表
[6,4,2,4,6]
Run Code Online (Sandbox Code Playgroud)
如果我需要列表长度为10项,具有相同的总和和相对分布,它看起来就像
[3,3,2,2,1,1,2,2,3,3]
Run Code Online (Sandbox Code Playgroud)
这很简单,因为项目数量增加了一倍,我将上一个列表中的每个项目分成两半.
我正在试图找出一种方法,使第一个列表的任意数量的项目长.也许是3,7,12,999 ......
显然,通常不可能完美地完成它(如在简单的例子中),我试图找到一个提供最佳匹配的解决方案.
IIUC,使用np.repeat:
a1 = np.array([6,4,2,4,6])
targ_len = 10 #Enter target length
len_arr = len(a1)
factor = targ_len / len_arr
a2 = np.repeat(a1, factor) / factor
Run Code Online (Sandbox Code Playgroud)
输出:
array([3., 3., 2., 2., 1., 1., 2., 2., 3., 3.])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |