기본 콘텐츠로 건너뛰기

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

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은 열단위 즉, 행 방향으

Tex 기본명령과 환경

1. 문서제목, 저자, 날짜 : 프리앰블에 입력 \title{제목} \author{저자} \date{날짜},  \date{\today} : 작성한 날의 날짜가 자동으로 입력 이후 다음과 같이 본 문서 작성 시작에 \maketitle 명령을 사용 \begin{document} \maketitle 2. 문서의 구성  장절 명령을 사용 \chapter{ } : 장 \section{ }: 절 \subsection{ }: 소절 위의 명령에 의한 구분은 \tableofcontents명령에 의해 차례를 만들 때 사용됨 만약 장절 명령을 사용하되 차례에 포함시키지 않기 위해서는 \chapter*{ }와 같이 '*' 을 입력 단란제목이 너무 길 경우 차례에는 짧은 이름을 사용하기 위해서는 다음과 같이 코딩 \chapter[short title]{vary long chapter} 3. 문서내에 목록 사용  \begin{itemize}[목록 앞의 기호] \item -- \item -- \end{itemize} 목록 앞의 기호는 •가 기본으로 설정되어 있으며 '-'를 사용하기 위해서는 위의 '목록앞의 기호' 즉, 옵션에 입력해 주면된다. 예 \begin{itemize}[-] 기호 대신 순서를 나타내기 위해 번호를 입력하기 위해서는 itemize 대신 enumerate를 사용(자동으로 번호가 부여됨} \begin{enumerate} ~ \end{enumerate} 4. 차례 위의 제목을 만들기 위해 \begin 아래에 \maketitle를 입력하는데 차례를 만들기 위해서는 그 아래에 /tableofcontens를 입력 즉, \begin{document} \maketitle \tableofcontents 위와 같이 작성된 문서에 차례를 나타내기 위해서는 원파일을 최소 두번 이상 compile해야 합니다. 파일을 1번 컴파일 하면 결고 pdf에 차례는 나타나지 않습니다.

Tex 설치와 기본 설명

설치  절차는 다음과 같습니다.  인스톨 파일을 다운 :  http://mirror.navercorp.com/CTAN/systems/texlive/tlnet/install-tl.zip  다운로드 파일의 압축해제: 압축을 풀고 intall-tl-YYYYMMDD라는 폴더로 들어갑니다. 해제된 파일은   intall-tl-YYYYMMDD 폴더가 생성됩니다.  윈도우 명령창에서 위 폴더로 진입합니다.  C:\Users\hp> cd C:\~\install-tl/install-tl-20191024/                                                                                                                                                                        cmd에서 폴더로 진입한 후 설치에 필요한 패키지를 받아올  repository를 지정합니다.  C:\20191024>install-tl-windows.bat --repository http://mirror.navercorp.com/CTAN/systems                                                                                                                                            /texlive/tlnet/      install 클릭  설치 종료  가장 안전한 것은 시스템을 한 번 리부팅해주거나 로그아웃했다가 다시 로그인하는 것이다. 그렇지 않다면 적어도 실행중인 모든 프로그램을 다 중단했다가 다시 실행 ko.TexLive 설정  추거적인 부분으로 반드시 필요한 부분은 아니지만 KTUG  repository에서 설치할 패키지가 있는 경우에만 설치  TeX Live Command-line

Palindrome(회문) 결정하기

palindrome(회문) 순서를 역으로 해도 동일한 단어, 숫자, 문장을 나타내는 객체  첫번째와 마지막 원소가 동일    안쪽으로 하나씩 좁혔을 때 동일함 palindrome을 판단하기 위한 프로그램 def isPalindromeS(x):     target=str(x)     is_palindrome=True     for i in range(len(target)//2):         if target[i] != target[-1 -i]:             is_palindrome=False             break     return(is_palindrome) x=[121, "level", 12314] [isPalindromeS(i) for i in x] [True, True, False] 지정한 범위에서 palindrome를 발견 re=np.array([]) for i in range(10, 1001):     if isPalindromeS(i):         re=np.append(re, i) re array([ 11.,  22.,  33.,  44.,  55.,  66.,  77.,  88.,  99., 101., 111.,        121., 131., 141., 151., 161., 171., 181., 191., 202., 212., 222.,        232., 242., 252., 262., 272., 282., 292., 303., 313., 323., 333.,        343., 353., 363., 373., 383., 393., 404., 414., 424., 434., 444.,        454., 464., 474., 484., 494., 505., 515., 525., 535., 545., 555.,        565., 575., 585., 595., 606., 616., 626., 636., 646., 656.

솟수와 소인수 (Prime, Prime Factor)

솟수 1과 자신외의 값으로 나누어질 수 없는 수 def isPrimeS(x):     if x<=1:         return False     for i in range(2, x):         if x % i ==0:             return False     return True isPrimeS(7) True 위 프로그램을 사용하여 [1, 100] 사이의 솟수는 다음과 같습니다. re=np.array([]) for i in range(1, 101):     if isPrimeS(i)==True:         re=np.append(re, i) re array([ 2.,  3.,  5.,  7., 11., 13., 17., 19., 23., 29., 31., 37., 41.,        43., 47., 53., 59., 61., 67., 71., 73., 79., 83., 89., 97.]) 소인수  (Prime Factor) 소인수: 어떤 수를 얻기 위해 곱해지는 수들중 솟수들 6=2×3의 경우 2, 3은 6의 인수(factor) Prime Factorization(소인수 분해): 어떤수를 만들기 곱해진 수들 중에 소수들 12=2×6  12의 인수들은 2, 6으로 나타낼 수 있지만 6은 소수가 아니다. 즉, 별도의 인수를 가진다. 6=2×3 그러므로 12=2×2×3=2 2 *3 결과적으로 12의 소인수는 2, 3 입니다. 인수를 찾는 프로그램    factorS(x) 와 솟수인지를 검사하는 프로그램 isPrimeS() 를 사용하여 작성할 수 있습니다.  x=factorS(13195) re=np.array([]) for i in x:     if isPrimeS(i):         re=np.append(re, i) re array([ 5.,  7., 13., 29.]) 위 프로그램을 함수로 작성하면 다음과 같습니다. def primeFacto

피보나치 수열 생성(Fibonacci Sequence)

피보나치 수열은 앞의 두 수를 더하여 다음 수를 생성하는 수열로서 다음과 같이 코드를 작성할 수 있습니다. def fiboS(n):     #n=피보나치 수열의 갯수     fiboseq=np.array([1, 2])     for i in range(2, n+1):         fiboseq=np.append(fiboseq, fiboseq[i-2]+fiboseq[i-1])     return(fiboseq) fiboS(10) array([  1,   2,   3,   5,   8,  13,  21,  34,  55,  89, 144]) 위 결과는 numpy array로서 이들의 합을 위해서는 np객체.sum()을 적용합니다. fiboS(10).sum() 375 위 프로그램의 n은 수열의 갯수로서 정수입니다. 이것은 range() 함수의 인수이기 때문입니다. 정수형은 자릿수등의 한계가 존재하므로 얼마 이상의 값에서는 예기치 못한 값을 반환합니다. fiboS(50) array([          1,           2,           3,           5,           8,                 13,          21,          34,          55,          89,                ...          267914296,   433494437,   701408733,  1134903170,  1836311903,        -1323752223,   512559680,  -811192543,  -298632863, -1109825406,        -1408458269]) 그러므로 피보나치 수열을 생성할 경우 원소의 갯수가 아닌 그 합을 기준으로 하여 프로그램을 수정할 수 있습니다. 수정된 프로그램 역시 자료형의 크기에 한계가 있으므로 첫번째 프로그램보다 약간 개선된 결과를 보이지만 한계가 존재합니다. def fiboS(n):    

elementary function_sympy

Elementary function(초등함수) 대수함수와 지수 함수, 로그함수에 사칙연산 및 함수의 합성으로 만들수 있는 단변수 함수(univariate function)입니다. complex number(복소수) re(객체): 실수영역을 나타냄 im(객체): 허수영역을 나타냄 객체.as_real_imag(): (실수부분, 허수부분)의 쌍을 튜플로 반환 cojugate(객체): 켤레복소수를 반환 >>> type(E) #E=exp를 나타냄 sympy.core.numbers.Exp1 >>> 2*E 2*E >>> N(2*E) 5.43656365691809 >>> re(2*E) 2*E >>> type(I) #복소수의 허수 단위(numpy 등에서는  j로 나타냄)  sympy.core.numbers.ImaginaryUnit >>> eq=17+3*I >>> re(eq) #실수부분을 나타냄  17 >>> im(eq) #허수부분을 나타냄  3 >>> eq.as_real_imag() (17, 3) >>> conjugate(eq) 17 - 3*I sign() 식의 부호를 반환합니다. 식이 양수 : 1 식이 음수: -1 식이 0 : 0 복소수에서 허수부분의 부호는 다음과 같습니다. im(식) >0: I im(식) <0: -I >>> sign(-8) -1 >>> sign(0) 0 >>> sign(10) 1 >>> eq 17 + 3*I >>> sign(im(eq)) 1 Abs(): 절대값을 반환합니다.

Rolling Dice

import numpy as np mn = 1 mx = 7 ​ roll_again = 'yes' ​ while roll_again == "yes" or roll_again == "y" : print ( "Rolling the dice" ) print ( "The values are " ) print ( np . random . randint ( mn , mx )) roll_again = input ( "Roll the dices again?" ) Rolling the dice The values are 1 Roll the dices again?y Rolling the dice The values are 2 Roll the dices again?y Rolling the dice The values are 2 Roll the dices again?y Rolling the dice The values are 4 Roll the dices again?y Rolling the dice The values are 2 Roll the dices again?n