我需要一种简单的方法来扩展一个在值之间添加新值的数组。
如果我有一个数组:
a = np.array([[1, 4, 10], [2, 5, 11]])
我应该怎么做才能通过插值在值之间添加2个新值以获得一个数组:
b = [[1, 2, 3, 4, 6, 8, 10], [2, 3, 4, 5, 7, 9, 11]]
谢谢。
答案 0 :(得分:-1)
使用linspace创建新的序列,然后使用concatenate创建新的数组:
>>> a
array([[ 1, 4, 10],
[ 2, 5, 11]])
>>> b = np.linspace(a[:,0],a[:,1],4,1).T
>>> c = np.linspace(a[:,1],a[:,2],4,1).T
>>> b
array([[1., 2., 3., 4.],
[2., 3., 4., 5.]])
>>> c
array([[ 4., 6., 8., 10.],
[ 5., 7., 9., 11.]])
>>> d = np.concatenate((b,c[:,1:]),axis=1)
>>> d
array([[ 1., 2., 3., 4., 6., 8., 10.],
[ 2., 3., 4., 5., 7., 9., 11.]])
>>>