0

您好,我需要使用 linspace 在数据集中一次在两行之间创建点。

'location'
 1
 10
 12
 14

基本上使用 linspace 来查找第 1 行和第 2 行(1,10)之间的点,然后是第 3 行和第 4 行(12,14)(......对于数百行)。任何建议都会非常有帮助!

4

2 回答 2

0

如果您有位置列表,则可以分两步遍历该列表:

import numpy as np

# List of locations
locs = [1, 10, 12, 14] # …possibly more

# List for storing linspace output
lins = list()

# Iterate over the locations list in steps of two
for i in range(0, len(locs), 2):
    lins.append(np.linspace(locs[i], locs[i+1]))

请注意,此解决方案仅在locations列表中的元素数量为偶数时才有效。如果元素的数量是奇数,则需要修改 for 循环;就像是:

for i in range(0, len(locs)-1, 2):

由于您要计算元素对之间的 linspace,因此您的最后一个元素无论如何都没有配对元素。

于 2021-04-30T18:23:51.583 回答
0
>>> rows = [1, 10, 12, 14]
>>> n_points = 5
>>> for i in range(0, len(rows)//2*2, 2):
        print(np.linspace(*rows[i:i+2], n_points))
[ 1.    3.25  5.5   7.75 10.  ]
[12.  12.5 13.  13.5 14. ]
于 2021-04-30T18:23:59.630 回答