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: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다