[Python] 내가 필요해서 정리하는 Pandas 기본 함수
파이썬 판다스 초보자를 위한 치트 시트
내가 필요해서 간략하게 정리하는 파이썬(Python) 판다스(Pandas) 라이브러리의 기본 함수 및 명령어입니다.
파일 불러오기 및 저장
pd.read_csv("파일명"): csv 파일 불러오기pd.read_table: tsv 파일 불러오기pd.read_excel(): 엑셀 파일 불러오기pd.read_sql(): 쿼리 불러오기pd.read_json: json 파일 불러오기pd.read_html: html 파일 불러오기pd.read_clipboard(): 클립보드에 있는 내용 불러오기pd.DataFrame(dict): 딕셔너리 타입 불러오기
.copy(): 데이터 복사해서 사용.to_csv("파일명", index=False): csv 파일로 저장하기.to_excel: 엑셀 파일로 저장.to_sql: sql 파일로 저장.to_json: json 파일로 저장
.head(): 가장 앞에 있는 데이터 일부 확인(기본값: 5행).tail(): 가장 마지막에 있는 데이터 일부 확인(기본값: 5행).sample(): 임의의 일부 데이터 확인(기본값: 5행).T,.transpose: 행과 열 변경하기
요약과 기술통계
.shape: 데이터프레임의 행과 열 개수 확인len(df): 데이터 행의 개수 확인
.info(): 데이터의 개괄적인 특징 파악 (column 이름, 결측치 여부, 데이터 타입).describe(): 숫자형 데이터 통계요약치 제시.mean(): 평균값.median(): 중위값.min(): 최소값.max(): 최대값.std(): 표준편차.count(): 개수.corr(): 상관관계 계수
.nunique(): 각 변수별 유일한 값의 수(set의 의미).duplicated(): 중복 값 확인.isnull().sum(): 변수별 결측치 수 확인.dropna(): 결측치 삭제.fillna(): 결측치 대체
.index: 인덱스 번호 모두 출력.columns: 컬럼명 모두 출력.values: 값 출력
색인하기
.loc[행, 열]: 해당 행의 해당 열만 출력.loc[ : , 열]: 해당 열에 해당하는 전체 행.loc[ : , : ]: 전체 행과 열
.iloc[행]: 해당 행 출력.iloc[0, : ]: 첫번째 행의 전체 열.iloc[0,0]: 첫번째 행의 첫번째 열.iloc[ : ,0]: 첫번째 열의 전체 행
.query(조건): 조건에 해당하는 행만 출력.sort_values('변수'): ‘변수’의 값에 따라 정렬(오름차순).sort_values('변수', ascending = False): ‘변수’의 값에 따라 정렬(내림차순)
.sort_index(): 인덱스 정렬.set_index('변수'): 해당 변수를 인덱스로 설정.reset_index(): 새로운 인덱스 값 부여
데이터 타입 확인 및 변경
.dtypes: 각 변수의 데이터 타입 확인- int, float, bool, str, datetime, category, binary 등
.astypes(): 데이터 타입 변경pd.to_datetime(변수, format='%Y-%m-%d %H:%M:%S'): 문자 변수 날짜 데이터(YYYY-mm-dd HH:MM:SS)로 변환.dt.date: 날짜 데이터의 날짜(연, 월, 일) 출력.dt.time: 날짜 데이터의 시간(시, 분, 초) 출력.dt.year: 날짜 데이터의 연도만 출력
삭제 및 변경
.drop(columns = ['변수']): 해당 변수 열 삭제.drop_duplicaates(): 중복 행 제거.rename(columns = {'변수': '새변수'}): 변수명 변경.replace(a, b): a값을 b로 변경
그룹별 집계
.groupby(): 특정 column을 기준으로 정렬.pivot_table(index = 변수1,values =[변수2, 변수3], aggfunc = mean): 변수1를 기준으로 한 그룹별 변수2와 변수3의 평균값 확인
데이터 합치기
df1.append(df2): df1 아래에 df2 데이터 붙이기(단, 변수(columns)는 동일해야 함)pd.concat([df1, df2]): df1 아래에 df2 데이터 붙이기(단, 변수(columns)는 동일해야 함)pd.concat([df1, df2], axis = 1): df1 옆으로 df2 데이터 붙이기(단, 행(rows)는 동일해야 함)pd.merge(df1, df2, on = 변수1, how = 'inner'): 변수1을 기준으로 df1과 df2 합치기- how: ‘inner’, ‘left’, ‘right’, ‘outer’ 등 가능