Scipy interp1d matriz mascarado interpolate

votos
0

Não tenho a matriz mascarado (exemplo brinquedo) - [1 2 3 4 -- 6]

points = [1, 2, 3, 4, 0, 6]
mask = [0, 0, 0, 0, 1, 0]
points = ma.array(points, mask=mask)

E eu gostaria de interpolar-lo a partir de 6 dimensões para qualquer número, por exemplo, 6. Critérios de interpolação Meus é que ele irá ignorar os valores mascarados, e ignorar esse índice.

Comportamento indesejado, por exemplo, com lin = np.linspace(0, 1, 6):

f = interp1d(lin, points, axis=0, kind='cubic')
f(lin) # [1  2 3 4 -8.8817842e-16 6]

Em vez disso, eu estou esperando que ele se comporte como:

compressed_lin = [0, 0.2, 0.4, 0.6, 1]
compressed_points = np.array([1,2,3,4,6])
f = interp1d(compressed_lin, compressed_points, axis=0, kind='cubic')
f(lin) # [1 2 3 4 5 6]

Real de dados:

Meu de dados está na forma de [100, 100, 2], por isso não é tão simples como para ocultar os valores mascarados a partir de um linspacede tamanho 100.

Publicado 19/03/2020 em 21:51
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more