您好,我需要使用 linspace 在数据集中一次在两行之间创建点。
'location'
1
10
12
14
基本上使用 linspace 来查找第 1 行和第 2 行(1,10)之间的点,然后是第 3 行和第 4 行(12,14)(......对于数百行)。任何建议都会非常有帮助!
如果您有位置列表,则可以分两步遍历该列表:
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,因此您的最后一个元素无论如何都没有配对元素。
>>> 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. ]