第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

三次樣條插值用大于以下值的值填充 NaN

三次樣條插值用大于以下值的值填充 NaN

慕的地8271018 2023-10-26 15:17:37
我正在做三次樣條插值,我得到的輸出對我來說似乎有點奇怪。輸入到 NaN 值中的值大于 NaN 之前的數(shù)字,并且大于 NaN 緊接之后的值。如果我使用的method=linear話是沒有問題的。但是,我更愿意使用method=cubicspline.下面是我希望插入的部分以及輸出的示例:df['a'] = df['a'].interpolate(method='cubicspline')插值之前    a1  12.0362  12.223  12.3064  17.0195  NaN6  NaN7  NaN8  18.6249  18.61510 19.09811 19.156插值后    a1  12.0362  12.223  12.3064  17.0195  20.08256  20.50137  19.58038  18.6249  18.61510 19.09811 19.156如果有人知道我是否做錯了什么,我將非常感激!謝謝
查看完整描述

1 回答

?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

為了全面了解為什么會發(fā)生這種情況,您必須以更精細的步驟繪制樣條曲線,以顯示擬合的三次多項式。

https://img1.sycdn.imooc.com/653a12c8000150d505380410.jpg

import numpy as np

import matplotlib.pyplot as plt


points = [12.036, 12.22, 12.306, 17.019, 18.624, 18.615, 19.098, 19.15]

ipoints = [12.036, 12.22, 12.306, 17.019, 20.0825, 20.5013, 19.5803, 18.624, 18.615, 19.098, 19.15]


plt.plot([1, 2, 3, 4, 8, 9, 10, 11], points, label='real')

plt.plot(range(1, 12), ipoints, label='pandas')


from scipy.interpolate import CubicSpline as CS


cs = CS([1, 2, 3, 4, 8, 9, 10, 11], points)

plt.plot(range(1, 12), cs(range(1, 12)), label='scipy')


x = np.linspace(1, 12, 200)

plt.plot(x, cs(x), label='scipy-fine')


plt.legend()

plt.show()


查看完整回答
反對 回復(fù) 2023-10-26
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號