Python에서 선형 보간을 수행하는 방법(예제 포함)
선형 보간법은 두 개의 알려진 값 사이에서 함수의 알려지지 않은 값을 추정하는 프로세스입니다.
두 개의 알려진 값 (x 1 , y 1 ) 및 (x 2 , y 2 )이 주어지면 다음 공식을 사용하여 점 x의 y 값을 추정할 수 있습니다.
y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )
Python에서 선형 보간을 수행하려면 다음 기본 구문을 사용할 수 있습니다.
import scipy. interpolate y_interp = scipy. interpolate . interp1d (x,y) #find y-value associated with x-value of 13 print (y_interp( 13 ))
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: Python의 선형 보간
Python에 다음과 같은 두 가지 값 목록이 있다고 가정합니다.
x = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] y = [4, 7, 11, 16, 22, 29, 38, 49, 63, 80]
빠른 x 대 y 플롯을 만들 수 있습니다.
import matplotlib. pyplot as plt
#create plot of x vs. y
plt. plot (x, y, ' -ob ')
이제 새로운 x 값 13 과 연관된 y 값을 찾고 싶다고 가정해 보겠습니다.
이를 위해 다음 코드를 사용할 수 있습니다.
import scipy. interpolate
y_interp = scipy. interpolate . interp1d (x,y)
#find y-value associated with x-value of 13
print (y_interp( 13 ))
33.5
추정된 y 값은 33.5 입니다.
플롯에 점 (13, 33.5)을 추가하면 함수와 매우 잘 일치하는 것 같습니다.
import matplotlib. pyplot as plt
#create plot of x vs. y
plt. plot (x, y, ' -ob ')
#add estimated y-value to plot
plt. plot (13, 33.5, ' ro ')
이 정확한 공식을 사용하여 새로운 x 값에 대해 선형 보간을 수행할 수 있습니다.
추가 리소스
다음 튜토리얼에서는 Python의 다른 일반적인 오류를 수정하는 방법을 설명합니다.
Pandas에서 KeyError를 수정하는 방법
해결 방법: ValueError: float NaN을 int로 변환할 수 없습니다.
해결 방법: ValueError: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.