[英]Python Interpolate two columns data
我有兩列。 我想插值y-col
以在x-col
col 中進行相同的插值。
問題:
df = pd.DataFrame({'x':[1,3,5],'y':[10,30,50] })
df =
x y
0 1 10
1 3 30
2 5 50
預期答案:
# interpolate x values
df =
x y
0 1 10
1 2 NaN
2 3 30
3 4 NaN
4 5 50
# based on x-values, interpolate y-values.
df =
x y
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
現有答案:
我遇到了嘗試映射/擬合整個 x 數據然后重新采樣的現有答案。 這不是我想要的。 一次插入兩個值就足夠了。
要創建您的第一個 df(基於 x 的插值),您可以使用 range. 然后您可以使用插值 function 進行插值。
df2 = pd.DataFrame({'x':range(df.x.min(), df.x.max()+1)}).merge(df, on='x', how='left')
df2.y = df2.y.interpolate()
df2
x y
0 1 10.0
1 2 20.0
2 3 30.0
3 4 40.0
4 5 50.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.