본문 바로가기
파이썬 독학 (나도코딩)/Python

빅데이터 부트캠프 14일차

by Mecodata 2022. 7. 21.

파생변수

- df['Score/Age'] = df['Score'] / df['Age']와 같이 기존의 변수를 이용하여 새로운 변수를 만들 수 있음

pandas 기본 메서드

- head() = 데이터의 맨 앞 순서의 값을 출력 (기본값은 5줄)

- tail() = 데이터의 맨 뒷 순서의 값을 출력 (기본값은 5줄)

 

- info() = 해당 DataFrame에 대한 기본 정보 출력

- describe() = 해당 데이터에 대한 기본적인 산술 통계 출력

 

- unique() = 직접 unique값리스트 형식으로 출력

- nunique() = NaN을 제외한 unique한 값이 몇개인지 개수로 보여줌(데이터 중복 검사)

- value_counts() = 각 value들이 몇개가 있는지 개수 출력

- isnull() = 비어있는 데이터가 있는지 확인 (비어있으면 True 아니면 False)

- isnulll().sum() = 각 column당 NAN 데이터 총 개수 출력

 

- filter(regex=텍스트) = 해당 텍스트가 있는 column 출력

(regex='[01]'을 통해 0혹은1이 있는 column 출력 가능) 

- isin([]) = 해당 데이터가 있는  출력 (filter와 다르게 해당 데이터를 정확하게 입력해야함)

              실질적으로 isin은 등호(=)와 비슷한 역할 / 여러개이면 isin(['A','B'])같이 입력

- filter, isin 둘다 소문자 대문자 구분

 

- str.startswith() - 시작하는 문자열 찾기

ex) str.startswith('짱')  = 짱으로 시작하는 문자열 데이터가 있는 행 출력 

- str.endswith() - 내는 문자열 찾기

ex) str.endswith('짱')  = 짱으로 끝나는 문자열 데이터가 있는 행 출력 

- str.contains() - 가지고 있는 문자열 찾기 

ex) str.contains('짱')  = 짱이라는 문자열 데이터가 있는 행 출력 

- str.len()  = 해당 데이터의 길이

 

- astype() = 데이터 타입 변경

- apply() = DataFrame에 함수 적용

 

- concat() = 같은 형태의 DataFrame 합치기

 

- drop() =  해당 데이터 삭제

- dropna() = 전체 데이터 중에서 NaN을 포함하는 데이터 삭제

(how = any or all 로 하나라도 있으면 삭제 = any, 모두 NaN이면 삭제 = all을 적용)

- fillna() = 특정 텍스트NaN 데이터 설정 

ex) fillna('없음') = NaN 데이터 모두를 '없음' 텍스트로 변경 

※ NaN 적용 = np.NaN

 

- mask(조건,값) = 조건을 만족하는 대상에 대해 값 출력 (이면 명시된 값, 거짓이면 유지)

- where(조건,값) = 조건을 만족하지 않는 대상에 대해 값 출력 (참이면 유지, 거짓이면 명시된 값)

column 순서 변경

- df4 = df3.iloc[:,[0,2,1]]와 같이 칼럼의 순서를 변경후 출력할 수 있음

파일 저장 및 읽기

- DataFrame명.to_csv() = DataFrame을 csv로 변환하여 저장 (index=False 입력시 index는 제외하고 저장)

- pd.read_csv() = 해당 csv파일의 DataFrame 출력 (index_col 미설정시 unnamed: 0 column이 자동으로 추가)

※ index_col = column중에서 파일을 불러올때 index로 설정할 column 선택 (index_col=0으로 해야 원래대로 출력)

그룹화

- groupby() = 해당 데이터 기준으로 데이터들을 여러 그룹으로 나누어 출력

 

논리 연산자

- pandas에서는 논리 연산자를 사용할 때 and, or, not은 사용하지 않고 &,|,~을 사용함

- &,|,~ 사용시 소괄호로 해당 조건을 묶고 입력해야함 

ex) df[(df.점수>70) & (df.반='5반')]

 

댓글