본문 바로가기

Data_Analysis_Track_33/Python

(63)
Python_Pandas_04-2(pivot_table, apply, cut, TODO문제) pivot_table() 엑셀의 pivot table 기능을 제공하는 메소드. 분류별 집계(Group으로 묶어 집계)를 처리하는 함수로 group으로 묶고자 하는 컬럼들을 행과 열로 위치시키고 집계값을 값으로 보여준다. 역할은 groupby()를 이용한 집계와 같은데 여러개 컬럼을 기준으로 groupby 를 할 경우 집계결과를 읽는 것이 더 편하다.(가독성이 좋다) pivot() 함수와 역할이 다르다. pivot() 은 index와 column의 형태를 바꾸는 reshape 함수. DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, marg..
Python_Pandas_04(Groupby 관련 메소드 및 일괄처리 메소드, TODO 문제풀이) filter() DataFrameGroupBy.filter(func, dropna=True, *args, **kwargs) - 특정 조건을 만족하는 Group의 데이터(행)들을 조회할 때 사용한다. 주로 조건은 group별 집계결과를 이용한다. 1. 함수에 group별 DataFrame을 argument로 전달한다. 2. 함수는 받은 DataFrame을 이용해 집계한 값의 조건을 비교해서 반환한다.(반환타입: Bool) 3. 반환값이 True인 Group들의 모든 행들로 구성된 DataFrame을 반환한다. - 매개변수 - func: filtering 조건을 구현한 함수 객체 첫번째 매개변수로 Group으로 묶인 DataFrame을 받는다. bool type 값을 반환한다. 매개변수로 받은 DataFra..
Python_Pandas_03(정렬, 집계) 정렬 index이름, column 이름을 기준으로 정렬 sort_index(axis, ascending=True) - axis index 이름 기준 정렬(행) : 'index' 또는 0 (기본값) column 이름 기준 정렬(열) : 'columns' 또는 1 - ascending 정렬방식 True(기본): 오름차순, False: 내림차순 - inplace 원본에 적용 여부 False(기본): 변경한 복사본 반환 True : 원본을 변경 movie_df.csv 파일 불러오기 import pandas as pd df = pd.read_csv('saved_data/movie_df.csv', index_col = 'movie_title') 0번 컬럼 삭제 df.drop(columns = 'Unnamed: 0'..
Python_Pandas_02-3(DataFrame) 5.2. 열 추가 - 새로운 열을 지정 후 값을 대입하면 새로운 열을 추가할 수 있다. 보통 파생변수를 만들 때 사용한다. - 열 추가 df['col_name'] = value 마지막 열로 추가된다. 하나의 값을 대입하면 모든 행에 그 값이 대입된다. 다른 값을 주려면 배열에 담아서 대입한다. - 열 삽입 df.insert(삽입할 위치 index, 삽입할 열이름, 값) - 파생변수생성 기존 열들의 값을 이용해서 만든 열을 파생변수라고 한다. 벡터화 연산을 이용하여 값 대입한다. df['col_name'] = 기존 열들을 이용한 연산 변수 grade에 grade2.csv 파일 읽어오기 import pandas as pd grade = pd.read_csv("saved_data/grade2.csv") gra..
Python_Pandas_02-2(DataFrame) 3.1. 데이터 프레임의 기본 정보 조회 - csv 파일 읽기 - shape - info() - head() - tail() - isnull().sum() 컬럼별 null 체크 (sum() 한번 더 하면 총개수) - describe() : 숫자형-기술통계값, 범주형-총개수, 고유값들, 최빈값 import pandas as pd pd.options.display.max_rows = 100 # 최대 출력 행수 (저장한 행이 넘어가면 앞뒤로 5개씩만 출력 - 기본 : 60) pd.options.display.max_columns = 30 # 최대 출력 컬럼수 (기본 : 20) pd.options.display.max_colwidth = 100 # 한 cell(컬럼)에서 보여줄 글자 최대수 (기본 : 50) 2..
Python_Pandas_02(DataFrame) powershell에서 conda 가상환경 활성화 (한번만 실행하면 됨) - window power shell을 관리자권한으로 실행한다. - 콘다 파워쉘 초기화 conda init powershell - 파워쉘 권한 변경(파워쉘에서만 입력가능. 관리자 모드로 실행) Set-ExecutionPolicy -ExecutionPolicy RemoteSigned - 활성화 conda activate 이름 DataFrame(데이터프레임) 1. DataFrame 개요 - 표(table-행렬) 를 다루는 Pandas의 타입. Database의 Table이나 Excel의 표와 동일한 역할을 한다. - 분석할 데이터를 가지는 판다스의 가장 핵심적인 클래스이다. - 행(row)와 열(column) 으로 구성되 있다. - 각..
Python_Pandas_01-3(결측치) 결측치 (Missing Value, Not Available) 결측치 : 모르는 값, 수집이 안된값, 현재 가지고 있지 않은 값. - 판다스에서 결측치 None, numpy.nan, numpy.NAN 결측치는 float 타입으로 처리된다. 결측치 확인 : 각 함수/메소드는 각 원소별로 결측치인지 확인해서 결과를 반환한다. - Numpy np.isnan(배열) import numpy as np a = np.array([1,np.nan]) np.isnan(a) - Series/DataFrame Series/DataFrame객체.isnull() 또는 isna() Series/DataFrame객체.notnull() 또는 notna() import pandas as pd import numpy as np s = ..
Python_Pandas_01-2(벡터화, Boolean 인덱싱, 주요 메소드, 정렬, (평균, 중앙값, 표준편차/분산, 최빈값, 분위수)) 벡터화 (연산) - Pandas의 Series나 DataFrame은 연산을 하면 원소 단위로 연산을 한다. element-wise 연산 이라고도 한다. - Series/DataFrame과 값(scalar값)을 연산하면 각 원소들과 값을 연산한다. - Series끼리 또는 DataFrame끼리 연산을 하면 같은 위치의 원소끼리 연산을 한다. Index 이름이 (index가 아닌) 같은 원소끼리 연산한다. s1 = pd.Series([10, 100, 50, 30]) s2 = pd.Series([100, 5, 10, 300]) s1과 s2 연산 s1 + 20 # Series + 상수(Scalar) s1 - 100 # s1 > 50 s1 + s2 # Series끼리 연산 : 같은 index name의 원소끼리 ..