polyfit
과poly1d
는 둘 다 파이썬에서 NumPy 패키지에서 제공하는 함수로, 다항식 회귀 분석에 사용됩니다.
polyfit
은 데이터 포인트의 x, y 값이 주어졌을 때, 주어진 차수(degree)에 해당하는 다항식의 계수(coefficients)를 반환합니다. 다항식의 차수는 함수 호출 시 인자로 전달됩니다.
poly1d
는 polyfit
에서 반환된 계수를 입력으로 받아서 다항식 객체를 생성합니다. 이 객체를 사용하여 입력된 x 값에 대한 예측값을 계산할 수 있습니다.
다음은 polyfit
과 poly1d
의 간단한 예시입니다.
import numpy as np
# 데이터 포인트 생성
x = np.array([0, 1, 2, 3, 4, 5])
y = np.array([1, 3, 2, 5, 7, 8])
# 2차 다항식에 대한 계수 추정
coefficients = np.polyfit(x, y, 2)
print(coefficients) # [ 0.275 -0.85 2.8 ]
# 추정된 계수를 사용하여 다항식 객체 생성
poly = np.poly1d(coefficients)
# 새로운 x 값에 대한 예측값 계산
new_x = np.array([6, 7, 8])
predicted_y = poly(new_x)
print(predicted_y) # [10.925 13.05 15.275]
위 코드에서는 polyfit
함수를 사용하여 2차 다항식에 대한 계수를 추정하고, poly1d
함수를 사용하여 이 계수를 입력으로 받아서 다항식 객체를 생성하였습니다. 이후 생성된 다항식 객체를 사용하여 new_x
값에 대한 예측값을 계산하였습니다.
import numpy as np
import pandas as pd
- 여기서 인덱스는 계정 번호로 되어있다. Name을 인덱스로 설정하려면 어떻게 해야할까?
- 하지만 인덱스 설정은 한 가지만 할 수 있는 것이 아니라 여러 개를 동시에 인덱스로 설정할 수 있다. 이를 멀티 인덱스라고 하고, 멀티 인덱스 설정은 다음과 같이 할 수 있다.
이는 멀티 인덱스를 Name, Rep, Manager로 정한 것이다.
이번에는 Manager와 Rep으로만 멀티 인덱스를 정해보자
자, 이렇게 했더니 표에 인덱스로 설정해둔 Manager와 Rep, 그리고 벨류로 지정한 Price만이 있다. 하지만 Price 컬럼 아래 숫자들이 깔끔하지 않다. 이 때는 aggfunc 옵션을 조정하면 된다.
len은 개수 카운트할 때 쓰인다.