2012-06-26 8 views
6

Sto utilizzando la funzione di griddata in scipy per interpolare dati a 3 e 4 dimensioni. Funziona come un campione, tranne che restituisce un gruppo di NaN perché alcuni dei punti che mi servono sono al di fuori dell'intervallo dei dati di input. Dato che i dati N-d funzionano solo con l'interpolazione in modalità "lineare" in ogni caso, dovrebbe essere un gioco da ragazzi fare in modo che griddata faccia un'estrapolazione invece di restituire solo NaN. Qualcuno ha fatto questo o trovato una soluzione? Per chiarire: ho dati non strutturati, quindi non posso usare nessuna delle funzioni che richiedono una griglia regolare. Grazie! AlexEstrapolazione 3D in python (in pratica, scipy.griddata esteso a estrapolare)

+0

Sarebbe utile per riempire i punti al di fuori della gamma con un valore costante? In tal caso, puoi semplicemente specificare il fill_value – Dhara

+3

Inoltre, sei sicuro di voler estrapolare? a volte, uscire dai NaN e sapere che stai andando fuori portata è una scelta molto migliore. Ho usato spline univariate da scipy, estrapola silenziosamente ed i risultati possono essere abbastanza "spenti" – Dhara

+0

La mia situazione è: misuro alcuni valori in pochi punti, e devo quindi calcolare i valori in una serie di altri punti tramite inter/estrapolazione . Quindi un valore costante, o NaN davvero non aiuta. So quanto siano delicate le spline, quindi pensavo che lineare sarebbe una scommessa sicura. Mi piacerebbe qualcosa che funziona su dati N-d però. – user1483697

risposta

-1

Non abbastanza sicuro che questo funziona per voi e non è ancora disponibile, ma nella versione di sviluppo di NumPy c'è una funzione di matrice 'pad' ...

https://github.com/numpy/numpy/blob/master/numpy/lib/arraypad.py

Uno dei le opzioni sono 'linear_ramp' che estrapola (pad) verso l'esterno partendo dal valore del bordo e aumenta/diminuisce linearmente fino a un valore finale specificato.

Si tratta di una funzione Python puro così si potrebbe basta copiare nella tua percorso e di importazione (non testato da me però)

+0

sembra totalmente estraneo a me. qui ci sono documenti, niente relativi all'interpolazione/estrapolazione https://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.pad.html – denfromufa