[英]Python 2D Matrix Interpolation
我有一個包含一些浮點值和許多NaN值的矩陣。 現在,我想對NaN值進行插值。
矩陣如下所示:
[
[NaN, NaN, 3.9, NaN, NaN],
[3.2, NaN, NaN, 2.9, NaN],
[NaN, NaN, 2.5, NaN, NaN],
[7.6, NaN, NaN, NaN, 1.3],
[NaN, 0.6, NaN, NaN, NaN]
]
我知道存在scipy.interpolate.interp2d ( https://docs.scipy.org/doc/scipy-0.14.0/reference/generation/scipy.interpolate.interp2d.html )。 但是我想進行樣條插值。 使用pandas ( https://pandas.pydata.org/pandas-docs/stable/genic/pandas.DataFrame.interpolate.html ),我可以制作樣條曲線,但是我不確定它是否適用於二維數據。 也許有人可以幫助我! :-)
謝謝
年,也許您需要這是熊貓解決方案:
a = [
[None, None, 3.9, None, None],
[3.2, None, None, 2.9, None],
[None, None, 2.5, None, None],
[7.6, None, None, None, 1.3],
[None, 0.6, None, None, None]
]
b = {i:a[i] for i in range(len(a))}
c = pd.DataFrame(b).T
c.interpolate(limit_direction ='both',inplace=True,axis=0)
如果需要逐行插補,則切換axis=1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.