Day_3 03. pandas II

작성일

1 분 소요

pandas II

1. Groupby

  • SQL groupby 명령어와 같음
  • split -> apply -> combine
  • 과정을 거쳐 연산

  • 한개 이상의 column을 묶을 수 있음
df.groupby(['Team', 'Year'])['Points'].sum()

1.1 Hierachical index

  • Groupby 명령의 결과물도 결국은 dataframe
  • 두개의 column으로 groupby 를 할 경우, index가 2개 생성

1.2 unstack

  • Group 으로 묶여진 데이터를 matrix 형태로 전환

1.3 swaplevel

  • index level을 변경할 수 있음

1.4 sort_index

  • index level을 기준으로 정렬

1.5 sort_values

  • value 값 기준으로 정렬

2. Groupby II

  • Groupby에 의해 Split된 상태를 추출 가능함
  • Tuple 형태로 그룹의 key 값 value 값이 추출
grouped = df.groupby('Team')
for name, group in grouped:
  print(name)
  print(group)
  • grouped 자체는 generator 형태
  • 특정 key값을 가진 그룹의 정보만 추출 가능
grouped.get_group('Devils')
  • 추출된 group 정보에는 세가지 유형의 apply가 가능
    • Aggregation: 요약된 통계정보를 추출
      • agg
      • 특정 컬럼에 여러개의 function을 apply 할 수 있음
    • Transformation: 해당 정보를 변환
      • Aggregation과 달리 key 값 별로 요약된 정보가 아님
      • 그룹 지어진 데이터별로 변환을 지원
    • Filteration: 특정 정보를 제거하여 보여주는 필터링
      • 특정 조건으로 데이터를 검색할 때 사용
      • filter 안에는 boolean 조건이 존재해야 함
      • len(x) 는 grouped 된 dataframe 개수

3. Pivot Table

  • Index 축은 groupby와 동일
  • Column에 추가로 labeling값을 추가하여 Value에 numeric type값을 aggregation 하는 형태

4. Crosstab

  • 두 칼럼에 교차 빈도, 비율, 덧셈 등을 구할 때 사용
  • Pivot table의 특수한 형태
  • User-Item Rating Matrix 등을 만들 때 사용 가능

5. merge

  • SQL에서 많이 사용하는 Merge와 같은 기능
  • 두개의 데이터를 하나로 합침
  • join method
    • inner join
    • full(outer) join
    • left join
    • right join

6. concat

  • 같은 형태의 데이터를 붙이는 연산작업

7. persistence

7.1 database connection

  • data loading시 db connection 기능을 제공

7.2 XLS persistence

  • Dataframe의 엑셀 추출 코드
  • Xls 엔진으로 openpyxls 또는 XlsxWrite 사용
  • conda install openpyxl
  • conda install XlsxWriter

댓글남기기