기본 콘텐츠로 건너뛰기

라벨이 class인 게시물 표시

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

Python의 함수는 1급(First Class)객체

내용 함수도 변수에 할당할 수 있는 객체 함수는 데이터 구조내에 저장될 수 있는 객체 다른 함수의 인자로서 함수 중첩함수(Nested function) 다른 함수의 반환값으로 함수(클로저) 객체의 1급객체화(클래스) __call__ Python의 함수는 1급(First Class)객체 1급 객체(First Class Object)는 일반적으로 모든 개체(entity)에서 사용, 수정이 가능한 개체로 다음과 같이 실행될 수 있습니다. 변수에 할당 데이터 구조에 저장 다른 함수의 인자로 전달 다른 함수의 반환값(closer) 수정되고 객체에 할당 가능 함수도 변수에 할당할 수 있는 객체 Python 프로그램의 모든 데이터는 객체 또는 객체 간의 관계로 표현됩니다. 문자열, 목록, 모듈 및 함수와 같은 것은 모두 객체입니다. def hello(name): return f"{name}님 안녕하세요!" hello('홍길동') '홍길동님 안녕하세요!' 위 함수 hello()도 객체이므로 다른 변수에 할당하여 새로운 객체를 생성할 수 있습니다. 이렇게 생성된 새로운 객체 greet와 hello는 같은 객체입니다. greet=hello greet("김영희") '김영희님 안녕하세요!' hello == greet True hello is greet True id(hello), id(greet) (140489754398288, 140489754398288) 위의 함수이름 hello, greet는 함수 개체를 저장하는 변수이름입니다. 다음 코드에서 하나의 함수이름을 삭제한 경우 다른 함수이름으로 여전히 함수가 수행되고 있습니다. 또한 함수의 내부 식별자(dentifier)를 반환하는 매직메소드 __name__ 를 사용하여 greet의 식별자를 확인하면 최초 함수 이름인 h

정적메서드와 클래스메서드

내용 정적메서드(Static mathod) 클래스 메서드(Class method) 정적메서드(Static mathod)와 클래스메서드(Class method) 정적메서드(Static mathod) 일반적으로 클래스는 생성자(constructor) __init__() 메소드를 통해 인수(들)을 전달합니다. 클래스 내부의 함수, 즉 메서드는 기본적으로 그 인수(들)을 사용합니다. 이러한 메서드를 사용하기 위해서는 인스턴스에 의해 호출되어야 하므로 인스턴스 메서드(instance method) 라고 합니다. class TwoSum: '''두수의 합''' def __init__(self, a, b): self.a=a self.b=b def tot(self): return self.a+self.b TwoSum(2, 3).tot() 5 위 클래스의 경우 __init__()를 통해 전달받은 인자 a, b를 정의하는 인스턴스 TwoSum(2, 3)를 생성한 후에 메서드 tot()를 호출하여 사용합니다. 물론 다음과 같이 __init__() 사용없이 메서드에 직접적으로 인수를 전달 할 수 있습니다. 이 경우 메서드 tot의 첫 인수 'self'는 class 자체를 나타내는 것으로서 상속받은 다른 클래스와 그 인수에 할당된 속성이나 변수가 없는 상태 즉, None입니다. class TwoSum2: '''두수의 합''' def tot(self, a, b): self.a=a self.b=b return self.a+self.b TwoSum2().tot(2,3) 5 위 클래스의 경우 메서드 tot에서 전달받은 인수를 'self'에 할당하는 과정을 생략할 수 있습니다. class TwoSum3:

클래스의 상속(Inheritance)과 추상클래스(Abstract Class)

내용 상속 메서드 재정의(overriding) super() __slot__설정 다중 상속 추상클래스(Abstract class) 클래스의 상속(Inheritance)과 추상클래스(Abstract Class) 상속 상속은 다음과 같이 클래스 이름 다음 괄호내에 상속할 클래스 이름을 전달합니다. 상속의 대상을 부모 클래스, 수퍼 클래스 , 또는 기본 클래스(parent, super, or base class) , 상속 받는 클래스를 자식클래스, 파생클래스, 또는 하위 클래스 (child, derived, or subclass)라고 합니다. class 클래스이름(다른 클래스이름): 내용 상속은 존재하는 클래스 체계를 재이용할 수 있게 합니다. 다음 클래스 Book은 속성으로 책 제목과 종류를 받아 그 제목을 출력하는 메서드를 가지고 있습니다. class Book: tax=0.05 def __init__(self, title, kind, price): self.title=title self.kind=kind self.price=price def Intro(self): print(f'이책의 제목은 {self.title} 입니다.') def Price(self): return self.price+self.price*Book.tax py=Book('Python', 'IT', 27000) py.Intro() 이책의 제목은 Python 입니다. py.Price() 28350.0 다음은 소설에 대한 클래스입니다. 이 클래스는 Book과 같은 구조입니다. 클래스 Fiction은 Book을 수퍼 클래스로 하는 하위 클래스입니다. 그러므로 Book이 포함하는 속성이나 메서드를 입력하지 않은 상태에서 사용할 수 있습니다. 클래스 Fiction의 경우

[python]class에서 init, iter, generator 사용하기

클래스에서 init, iter, generator 사용 __init__() 클래스를 정의하면서 인수를 전달할 경우 __init__()메서드를 사용합니다. 이 메서드는 클래스에 인수를 전달하는 등 초기화를 위해 적용합니다. class Fib: ‘’’iterator that yields numbers in the Fibonacci sequence’’’① def __init__(self, maxnum): 내용 ② ① 클래스에 대한 간략한 설명 즉, docstring 입니다. ② __init__() 메소드는 클래스 개체인 인스턴스를 생성하면서 호출됩니다. 즉, 인스턴스 생성시 첫번째로 실행되는 코드입니다. 이 메소드의 인수중 첫번째 인수는 self입니다. 이것은 새롭게 생성된 객체(인스턴스)를 참조하는 것으로 명시적으로 나타내어야 합니다. 초기화자는 단순히 인자 전달 외에 그 인자의 정성적인 측면의 정보를 제공할 수 있습니다. class Fib: '''iterator that yields numbers in the Fibonacci sequence''' def __init__(self, maxnum): if maxnum <0 : raise ValueError("maxnum은 양수이어야 합니다.") b=Fib(-10) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) ... ---→ 5 raise ValueE

class 정의와 생성

내용 클래스 클래스 객체의 생성, 인스턴스 생성자(constructor) 인스턴스와 속성의 삭제 Class 클래스 두 수의 사칙연산을 한 함수에서 계산하기 위해 다음과 같이 작성할 수 있습니다. def addFunc(x, y): return(x+y) def subFunc(x, y): return(x-y) def mulFunc(x, y): return(x*y) def divFunc(x,y): if y != 0: return(x/y) else: raise ZeroDivisionError("y must not be zero.") def mathOperFunc(x, y): tot=addFunc(x,y) sub=subFunc(x,y) mul=mulFunc(x,y) div=divFunc(x,y) return(tot, sub, mul, div) mathOperFunc(3, 4) (7, -1, 12, 0.75) mathOperFunc(10, 0) ~~ZeroDivisionError: y must not be zero. 위의 다양한 함수들을 다음과 같이 하나의 틀(frame)에 구성할 수 있습니다. class Oper: def __init__(self, x, y): #(1) self.x=x #(2) self.y=y #(3) def addC(self): return(self.x+self.y) def subC(self): return(self.x-self.y) def mulC(self): return(self.x*self.y) def divC(self): if self.y != 0: return(self.x/self.y) else:

[python 클래스] 솟수찾기

솟수는 1과 자신외에 나눌 수 없는 정수입니다. 즉, 1과 자신의 수외에 인수가 없는 정수입니다. 어떤 수 x가 솟수인지를 결정하기 위해 다음 생각을 코딩할 수 있습니다. 1) x=1 → 솟수 2) [2, x-1] 사이에 x를 나눌 수 있는 수 즉, 인수가 없다면 → 솟수 def CheckPrimeNumber_fun(x):         if abs(x)>1:             for i in range(2,x):                 if x % i ==0:                     print(x,"는 소수가 아닙니다.")                     break             else:                 print(x,"는 솟수입니다.")         else:             print(x,"는 솟수입니다.") CheckPrimeNumber_fun(97)          97 는 솟수입니다. 위 함수(코드)를 사용하여 일정한 범위에서 솟수들을 결정하기 위한 다른 함수를 작성하기 위해서 위 코드를 class로 작성한 후 이 클래스를 상속받는 서브클래스를 작성합니다. 클래스 작성에서 초기값을 지정하기 위해 생성자(constructor)를 사용합니다. 생성자 __init__ : 클래스에 매개변수를 전달합니다. class CheckPrimeNumber:     def __init__(self, x):  #초기값등을 위한 생성자(__inti__)         self.x=x     def prime(self):         re=False         if abs(self.x)>1:             for i in range(2,self.x):                 if self.x % i ==0:                     re=False