01 라이브러리 불러오기
import pandas as pd
02 DataFrame 생성하기
딕셔너리로 생성하기
pd.DataFrame(딕셔너리명)
CSV 파일 / URL로 생성하기
pd.read_csv(파일경로/url)
03 DataFrame 정보 확인과 정렬
정보 확인 메서드
DataFrame 정보 확인에 자주 사용되는 메서드들은 다음과 같다.
df.head() | 상위데이터 확인 |
df.tail() | 하위 데이터 확인 |
df.shape | 데이터프레임 모양 확인 |
df.columns | 열 이름 확인 |
df.columns.values | 열 이름 np.array 형태로 확인 |
df.dtypes | 열 자료형 확인 |
df.info() | 인덱스, 열 자료형, 값 개수, 데이터 형식 정보 등 확인 |
df.describe() | 기초 통계정보 확인 |
데이터 정렬 : sort_values
단일 열 정렬
데이터프레임명.sort_values(by=정렬기준 컬럼명, ascending=오름차순 여부)
데이터프레임명.sort_values(정렬기준 컬럼명, ascending=오름차순 여부)
ascending=True로 지정해주면 오름차순 정렬
ascending=False로 지정해주면 내림차순 정렬
복합 열 정렬
데이터프레임명.sort_values(by=정렬기준 컬럼명 리스트, ascending=오름차순 여부 리스트)
데이터프레임명.sort_values(정렬기준 컬럼명 리스트, ascending=오름차순 여부 리스트)
고유값 확인 : unique, value_count
데이터프레임명['컬럼명'].unique()
데이터프레임명['컬럼명'].value_counts()
04 DataFrame 조회
특정 열 조회
데이터프레임명['컬럼명'] # 시리즈로 조회하기
데이터프레임명[['컬럼명']] # 데이터프레임으로 조회하기
조건으로 조회 : .loc
데이터프레임명.loc[조건문, 컬럼명]
컬럼명을 생략하면 조건문에 해당하는 모든 열과 행이 있는 데이터프레임이 나온다.
조건으로 조회 : isin, between 메서드 활용
데이터프레임명.loc[ 데이터프레임명['컬럼명'].isin( [값1, 값2, ..., 값n] ) ]
# 값1, 값2, ..., 값n인 데이터만 조회
데이터프레임명.loc[ 데이터프레임명['컬럼명'].between(값1, 값2) ] # 값1~값2 범위의 데이터 조회
만약 between 메소드에서 개구간인 범위를 폐구간으로 바꾸고 싶다면 inclusive
속성을 활용하면 된다.
- between(값1, 값2) : [값1, 값2]
- between(값1, 값2, inclusive='left') : [값1, 값2)
- between(값1, 값2, inclusive='right') : (값1, 값2]
- between(값1, 값2, inclusive='both') : (값1, 값2)
05 DataFrame 집계
집계 함수 : sum, mean, count, max 등
- 합: sum()
- 평균: mean()
- 최댓값: max()
- 최솟값: min()
- 개수: count()
상기 메소드를 이용하여 지정한 열들을 기준으로 집계를 할 수 있다.
groupby() 활용하여 집계
데이터프레임명.groupby('집계기준변수', as_index=여부)[ ['집계대상변수'] ].집계함수
집계기준변수별 집계대상변수의 집계함수 결과를 보고싶을 때 사용한다.
(e.g. 카테고리별 비디오 뷰 수의 합계)
as_index
속성 : True를 설정하면 집계 기준이 되는 열이 인덱스 열이 된다. False는 추가적으로 인덱스가 생성된다.
[ ['집계대상변수'] ] : 생략하면 모든 열에 대한 집계 수행이 된다.
agg() 활용하여 집계
데이터프레임명.groupby('집계기준변수', as_index=여부)[ ['집계대상변수'] ].agg(집계함수 리스트)
'데이터 사이언스 > 데이터 분석·전처리' 카테고리의 다른 글
[Python] matplotlib, seaborn을 이용한 단변량 분석 (0) | 2023.02.11 |
---|---|
[데이터 분석 방법론] CRISP-DM 프로세스 (0) | 2023.02.10 |
[Python] Pandas 시계열 데이터 다루기 - 날짜, shift, rolling, diff (0) | 2023.02.08 |
[Python] Pandas DataFrame 사용법 정리 2 - 변경, 결합 (0) | 2023.02.07 |
[Python] Numpy 기초 정리 (0) | 2023.02.07 |