series
1차원 자료구조(리스트, 튜플, 넘파이 배열)
index 이름과 value를 가진다.
Series 생성
import pandas as pd
pd.Series(리스트|튜플|넘파이 배열)
pd.Series((리스트|튜플|넘파이 배열), index=(인덱스 이름 지정시))
Series 접근
기본적으로 Series[index]를 하면 이름으로 조회한다
indexing
- index 순번으로 조회
- Series[순번]
- Series.iloc[순번]
- 기본적으로 Series[index]를 하면 이름으로 조회한다.
index이름이 정수형일때 순번조회를 하려면 iloc을 사용한다.
- index 이름
- Series[index 이름]
- Series.loc[index 이름]
- 팬시 indexing
- 한번에 여러개의 원소를 조회할 때
- Series[index list]
slicing
-
Series[start index : stop index : step]
- start index 생략시 : 0번 부터
- stop index
- index 순번 조회시 포함하지 않음
- index 이름 조회시 포함함
-
slicing한 후 원소를 변경하면 원본도 같이 바뀐다.
- 원본 변경을 원치 않으면
slicing결과.copy()를 해준다.
Boolean Indexing
- Series의 indexing 연산자에 boolean 리스트를 넣으면 True인 index의 값들만 조회한다.
- 원하는 조건의 값들을 조회할 때 사용한다.
- 파이썬과는 다른게 and, or, not 예약어는 사용할 수 없다.
- &(and), |(or) ,~(not)으로 쓴다.
- 논리연산자의 피연산자들은 반드시 ()로 묶어준다.
Series 정렬
-
sort_values()
-
sort_index()
공통 매개변수
- ascending = False
- 내림차순 정렬 (기본 값은 True:오름차순 이다.)
- inplace = True
- 원본에 자체를 정렬 (기본 값은 False이고 정렬시 새로운 Series로 반환한다.)
결측치
- 모르는 값, 수집이 안된 값, 현재 가지고 있지 않은 값을 말한다.
- None, numpy.nan, numpy.NAN으로 표시
- 결측치는 float type으로 처리된다.
결측치 확인
각 함수/메소드는 각 원소별 결측치인치 확인해서 결과를 반환한다.
- Numpy
- Series/DataFrame
- Series/DataFrame객체.isnull() 또는 isna()
- Series/DataFrame객체.notisnull() 또는 notna()
결측치 처리
- dropna()
- 결측치를 제거 한다.
- inplace=False가 기본값이다.
- fillna()
- 결측치를 다른값으로 대체한다.
- 주로 평균, 중앙값, 최빈값을 사용
기술 통계량
데이터셋의 데이터들의 특징을 하나의 숫자로 요약한 것.
평균-mean()
- 전체 데이터들의 합계를 총 개수로 나눈 통계량
- 이상치(너무 크거나 작은 값)의 영향을 많이 받는다.
중앙값-median()
- 분포된 값들을 오름차순하여 나열한 뒤 그 중앙에 위치한 값
- 이상치에 영향을 받지 않아 집단의 대표값으로 사용한다.
표준편차-std() / 분산-var()
최빈값-mode()
분위수-quantile(q=[분위])
- 데이터의 크기 순서에 따른 위치값으로 데이터의 분포를 파악할 때 사용
- 이상치 중 극단값들을 찾을 때도 사용
- 대표적으로 4분위, 10분위, 100분위를 사용한다.
describe
- 요약 통계량을 제공해준다.
- 원소들이 수치형일 때
- (count,mean,std,min,4분위,max)를 한번에 보여줌
- 원소들이 범주형(문자열)일 때
- (count, unique(고유값), top, freq(빈도), dtype)을 한번에 보여줌