목록분류 전체보기 (408)
오답노트
수치형 데이터 숫자로써 의미를 가지는 데이터를 수치형 데이터라고 한다. 예를 들어 가격 데이터가 있다. 수치형 데이터인지 모호할 때는 사칙연산을 해보면 알수있다. 1000원 과 2000원을 비교했을때 1000원 의 2배는 2000원이다. 반대로 범주형 데이터는 사칙연산을 하면 그 의미가 맞지 않는다. 예를 들어 월 데이터가 있으면, 1월의 2배가 2월이 되지 않는다. 수치화 대표값 평균 산술평균 : (a1 + a2 + a3 + ... + an) /n 조화평균 : 2*a*b / (a+b) 중앙값 : 자료의 순서상 가운데 위치하는 값 자료의 개수가 짝수일 경우 두 중간값의 중간이 중간값이 된다. 최빈값 : 자료에서 나타나는 빈도수 4분위수 : 데이터에서 최소값, 1/4, 2/4, 3/4, 최대값에 있는 값을..
sublpot plt.subplot(row, col, index) row : 세로로 생성할 차트 개수 col : 가로로 생성할 차트 개수 index : 차트의 위치 (1부터 시작) subplot은 여러 차트를 한번에 출력할 수 있다. plot 함수를 사용하기 전에 먼저 호출하여 사용해야한다. 다음 subplot을 만나기전까지 plot에 plt 함수가 적용된다. lst1 = list(range(1,6)) lst2 = list(range(2,7)) lst3 = list(range(11,16)) lst4 = list(range(12,17)) plt.subplot(2,2,1) plt.plot(lst1) plt.title("lst1") plt.subplot(2,2,2) plt.plot(lst2) plt.title..
조정 xlim, ylim xlim, ylim 함수는 각각 x축, y축 최대 최소값을 지정할 수 있다. 들어간 데이터가 범위와 상관없이 위 함수로 정해진 범위만 나타낸다. plt.plot('lst2','lst1',data=dict1) plt.xlim(0,10) plt.ylim(0,10) plt.show() figure 함수는 차트의 실제 크기를 조절할 수 있다. figsize 에 옵션으로 (x, y) 형태에 튜플을 입력하면 가로가 x 세로가 y인 크기의 차트로 바꾼다 주의할 점은 plot 함수가 호출되기 전에 호출해야한다. 그렇지 않으면 변경되지 않는다. plt.figure(figsize=(3,3)) plt.plot('lst2','lst1',data=dict1) plt.show() 그리기 axhilne, ..
matplotlib 데이터의 시각화를 위해서 파이썬에서 사용가능한 라이브러리 차트 그리기 list 데이터 그리기 import matplotlib.pyplot as plt lst = [1,4,6,8,4,2] plt.plot(lst) plt.show() plot 함수에 리스트를 입력후 show 함수를 호출 하면 아래와 같은 결과가 출력 된다. lst1 = [1,4,6,8,4,2] lst2 = list(range(1,7)) plt.plot(lst2,lst1) plt.show() 위 코드는 x축 데이터를 위한 리스트를 먼저 만들고 x축을 지정하였다. 사진 2.1.1 과 비교해보자 dict 데이터 그리기 dict1 = { "lst1" : lst1, "lst2" : lst2, 'lst3' : [8,4,5,1,2,5..
MinMaxScaler MinMaxScaler는 열에서 최소값을 0, 최대값을 1로 봤을 때, 그 비율로 Scale을 조정할 수 있도록 하는 객체다. from sklearn.preprocessing import MinMaxScaler col = list(df.iloc[:,-2:]) scale = MinMaxScaler() df_scale = scale.fit_transform(df.iloc[:,-2:]) df_scale = pd.DataFrame(df_scale,columns=col) result = pd.concat([df.iloc[:,:1],df_scale],axis=1) 그림 1.1 에서 Serise1을 보면 3번 인덱스의 값이 가장 크고, 0번 인덱스 값이 가장 작다. 그림 2.2 에서 Seris..
가변수(Dummy Variable) 범주형 데이터의 unique를 각 열로 나누는 것을 의미한다. get_dummies pd.get_dummies(범주형 데이터변수,prefix,drop_first) pd.get_dummies(데이터프레임, columns=[범주형 데이터 변수], drop_first) 인자로 범주형 데이터 변수를 때, prefix 옵션은 생성될 가변수의 접두어를 설정할 수 있다. drop_first는 가변수를 생성할 때, 원본 범주혀 데이터를 삭제할 여부를 결정한다. True는 삭제, False는 삭제하지 않는다. 인자로 데이터프레임을 받을 때, columns 옵션에 데이터프레임 내에 범주형 데이터를 입력한다. drop_first는 위 설명과 같다. df['Serise1'].unique()..
NaN Not A Number의 약자로 사용할 수 없는 데이터, 빈 값이라고 볼 수 있다. NaN 확인하기 isnull 메소드와 isna 메소드 둘 다 같은 결과를 출력한다. 예제는 isna로만 살펴보자 df.isna() import pandas as pd df.isna() isna 는 데이터 프레임의 형태로 NaN라면 True 아니면 False로 요소를 표현한다. sum 각 시리즈 별로 NaN의 개수를 나타낸다. 집계함수 sum과 같다 df.isna().sum() ''' Label 0 Serise1 1 Serise2 2 Serise3 2 ''' any 각 시리즈별로 NaN이 존재 여부를 나타낸다. df.isna().any() ''' Label False Serise1 True Serise2 True S..
to_datetime 위 사진에서 date 열의 자료형은 object이다. 하지만 우리 눈에는 시간으로 보여진다. to_datetime을 이용해 시간 타입으로 바꿔보자 data['date'] = pd.to_datetime(data['date']) 이 datetime64 는 파이썬 기본 패키지인 datetime 의 datetime 클래스와 같다. 우선 공식 문서를 참고하자. 나중에 datetime에 대한 링크를 추가하도록 하겠다.
crosstab pd.crosstab(col1,col2) 두 범주형 변수로 빈도수를 파악하는데 사용된다. pd.crosstab(titanic['Survived'], titanic['Sex']) normalize normalize 옵션은 빈도 수의 합을 1로 만들어준다. columns 열의 합이 1이 되도록 normalize 시킨다. pd.crosstab(titanic['Survived'], titanic['Embarked'], normalize = 'columns') 각 열의 합은 모두 1이다. index 행의 합이 1이 되도록 normalize 시킨다. pd.crosstab(titanic['Survived'], titanic['Embarked'], normalize = 'index') 각 행의 합은 1..
Rolling df['col'].rolling(n,min_period).연산함수() 시리즈에서 사용할 수 있는 메소드로 시리즈의 값을 묶어서 이에 대한 연산을 할 수 있다. 연산한 결과는 n개로 묶을 때 마지막 인덱스에 입력한다. 묶을 개수는 n으로 정할 수 있다. min_periods옵션은 연산에 대한 최소 개수이다. 연산 함수에서 굳이 n개가 충족되지 않더라도 min_periods에서 설정한 개수만큼 데이터가 있다면 연산을 수행한다. min_periods를 설정하지 않으면 n을 기준으로 연산한다. df['S2'] = df['S1'].rolling(3).sum() #S1 시리즈에서 3개의 데이터를 합산 df['S2'] = df['S1'].rolling(3,min_periods=1).sum() #S1에서..