[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’ 등 가능