2017-10-12 26 views

答えて

0

線形の場合は、新しい要素の間に一定の増減があるはずです。あなたの場合、それは1つです。したがって、2つの要素の違いをサンプリングして、それを最後の要素に追加します。

a = [1,2,3,4,5] 
num_add = 45 -len(a) 
b = a[1] - a[0] 
for z in range(1,num_add): 
    a.append(b + a[-1]) 

この範囲でプレイする必要があるかもしれませんが、これはうまくいくと思います。

0

まあ、私は[1, 2, 3, 4, 5]のリストを単なる例として解釈しました。実際にシリーズを補間するスクリプトが必要な場合は、これを試してみてください。

from scipy.optimize import curve_fit 
import numpy as np 


# Line equation - doesn't have to be linear 
def lin_eq(x, m, b): 

    return x*m + b 

# Your actual data 
std_y = np.array([1, 2, 3, 4, 5]) 

# Index of data 
std_x = np.arange(1, len(std_y) + 1) 

popt, pcov = curve_fit(lin_eq, std_x, std_y) 

top = 45 

# Index of projected data 
proj_x = np.arange(1, top + 1) 

# Interpolated data 
proj_y = lin_eq(proj_x, *popt) 

print proj_y 

[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 
    16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 
    31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.] 
関連する問題