Day_3 02. pandas I

작성일

2 분 소요

pandas I

1. pandas overview

  • 구조화된 데이터의 처리를 지원하는 Python 라이브러리
  • panel data -> pandas
  • 고성능 array 계산 라이브러리인 numpy와 통합하여, 강력한 “스프레드시트”처리 기능을 제공
  • 인덱싱, 연산용 함수, 전처리 함수 등을 제공
  • 데이터 처리 및 통계 분석을 위해 사용

  • 테이블 형태의 데이터에 최적화

  • pandas 설치
conda install pandas
  • Series : DataFrame 중 하나의 Column에 해당하는 데이터의 모음 Object
  • DataFrame : Data Table 전체를 포함하는 Object

2. Series

  • columns vector를 표현하는 object
  • index 와 values로 구성
  • ndarray의 subclass
  • dict type으로도 만들 수 있음
  • index 값을 기준으로 Series 생성

3. DataFrame

  • Series를 모아서 만든 Data Table = 기본 2차원
  • index, columns, values로 구성
  • m x n 형태
  • index 값을 기준으로 DataFrame 생성

3.1 indexing

  • loc : index location
    • index 이름
  • iloc : index position
    • index number

3.2 Trnaspose

  • 전치

3.3 values

  • 값들만 뽑음

3.4 to_csv

  • csv 파일로 저장
  • index=False 해주는게 좋음

3.5 column 삭제

  • del or drop 사용
del df['debt']

4. dataframe operations

4.1 series operation

  • index 기준으로 연산 수행
  • 겹치는 index가 없을 경우 NaN 값으로 반환

4.2 dataframe operation

  • column과 index를 모두 고려
  • add operation의 fill_value 쓰면 NaN값 0으로 변환
  • operation type
  • add
  • sub
  • div
  • mul

4.3 series + dataframe

  • axis를 기준으로 row broadcasting 실행

5. lambda, map, apply

5.1 map for series

  • pandas의 series type의 데이터에도 map 함수 사용 가능
  • function 대신 dict, sequence형 자료등으로 대체 가능
z = {1: 'A', 2: 'B', 3: 'C'}
s1.map(z)

s2 = Series(np.arnage(10, 20))
s1.map(s2)
  • replace function
  • Map 함수의 기능중 데이터 변환 기능만 담당
  • 데이터 변한시 많이 사용하는 함수
df.sex.replace(
 {'male': 0, 'female': 1}
)

df.sex.replace(
 ['male', 'female'],
 [0, 1], inplace=True
)

5.2 apply for dataframe

  • map과 달리, series 전체(column)에 해당 함수를 적용
  • 입력 값이 series 데이터로 입력 받아 handling 가능
  • 각 columns 별로 결과값 반환
  • 내장 연산 함수를 사용할 때도 똑같은 효과를 거둘 수 있음
  • mean, std 등 사용가능
  • scalar 값 이외에 series 값의 반환도 가능

5.3 applymap for dataframe

  • series 단위가 아닌 element 단위로 함수를 적용
  • series 단위에 apply를 적용시킬 때와 같은 효과

6. pandas built-in functions

6.1 describe

  • Numeric type 데이터의 요약 정보를 보여줌

6.2 unique

  • series data의 유일한 값을 list를 반환

6.3 sum

  • 기본적인 column 또는 row 값의 연산을 지원
  • sub, mean, min, max, count, median, mad, var 등

6.4 isnull

  • column 또는 row 값의 NaN (null) 값의 index를 반환
  • df.isnull().sum() -> 이렇게 많이 사용

6.5 sort_values

  • column 값을 기준으로 데이터를 sorting
  • ascending : 오름차순(True), 내림차순(False)

6.6 Correlation & Covariance

  • 상관계수와 공분산을 구하는 함수
  • corr, cov, corrwith

  • pd.options.display.max_rows = 100 -> row 100개 출력
  • pd.options.display.max_columns = 100 -> column 100개 출력

댓글남기기