我试图做一些非常简单的事情,但我被卡住了。有人帮忙会很好的。我有这个:
x=([0.,1.,2.,3.,4.])
我想获得这个:
x1=([0.,nan,nan,nan,nan,nan,1.,nan,,nan,nan,nan,nan,2.,nan,nan,nan,nan,nan,3.,nan,nan,nan,nan,nan,4.,nan,nan,nan,nan,nan])
此数组的每个元素后面都有5个nan值。到目前为止我的尝试:
x = np.arange(0,5, dtype=float)
x1= np.insert(x,[i+1 for i in x], np.nan)
但我只能获得这个:
array([ 0., nan, 1., nan, 2., nan, 3., nan, 4., nan])
当我再次尝试时,我犯了一个必然的错误。有什么建议吗?
非常感谢
我将创建一个完整的nan
数组,并插入带有slice:的x
值
y = np.full(len(x)*6, np.nan)
y[::6] = x
输出(y
(:
array([ 0., nan, nan, nan, nan, nan, 1., nan, nan, nan, nan, nan, 2.,
nan, nan, nan, nan, nan, 3., nan, nan, nan, nan, nan, 4., nan,
nan, nan, nan, nan])
您可以使用中缀+
和sum
(起始值为[]
(添加列表。这意味着你可以这样做:
y = sum([[a] + [nan] * 5 for a in x],[])