Array[Option[Long]]
을 선형 보간하려고합니다. 주어진 예를 들어 :스칼라에서 배열 보간
val example1 = Array(Some(20l), None, Some(60l))
val example2 = Array(Some(20l), None, None, Some(80l))
val example3 = Array(Some(20l), None, None, Some(80l), Some(90l), Some(100l))
val example4 = Array(Some(20l), None, None, Some(80l), None, Some(82l))
내가 기대 해요 : 컬렉션 (예를 들어, example4
)의 요소 사이의 관계가
val example1Interpolated = Array(20l, 40l, 60l)
val example2Interpolated = Array(20l, 40l, 60l, 80l)
val example3Interpolated = Array(20l, 40l, 60l, 80l, 90l, 100l)
val example4Interpolated = Array(20l, 40l, 60l, 80l, 81l, 82l)
없습니다. 그러나 값은 단조롭게 증가합니다.
def interpolate(input_):
nans = np.isnan(input_)
get_index = lambda z: z.nonzero()[0]
input_[nans] = np.interp(get_index(nans), get_index(~nans), input_[~nans])
return input_
을 위해 :
interpolate(np.array([20, np.nan, 60]))
interpolate(np.array([20, np.nan, np.nan, 80]))
interpolate(np.array([20, np.nan, np.nan, 80, np.nan, 82]))
수율 :
array([ 20., 40., 60.])
array([ 20., 40., 60., 80.])
array([ 20., 40., 60., 80., 81., 82.])
지금까지 해보신 것은 무엇입니까? 어디에서 차단 되었습니까? 구체적인 문제가 뭐니? – sjrd
@sjrd는 선택적 값을 가진 콜렉션에서 주어진 기능적인 방법을 찾고 있습니다. 일부 패키지에 누군가가 알고있는 것 또는 내가 누락 된 것을 구현했는지 궁금합니다. –
@AmirZiai 질문에 필요한 정확한 요구 사항을 추가해야합니다. –