일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 기초프로젝트
- 서브쿼리
- 프로젝트
- 군집화
- pandas
- 태블로
- 크롤링
- 최종 프로젝트
- lambda
- 데이터분석
- 머신러닝
- 클러스터링
- Chat GPT
- 기초통계
- da
- 시각화
- 데이터 분석
- Python
- jd
- 프롬프트 엔지니어링
- streamlit
- 히트맵
- 전처리
- SQLD
- SQL
- data analyst
- If
- cross join
- GA4
- 팀프로젝트
Archives
- Today
- Total
세조목
PYTHON 정리(정렬, 피벗테이블, 히트맵)(23.12.18) 본문
- 본 내용들은 PYTHON을 공부하면서 차후 제가 복습하기위해 정리해놓은 것으로 제가 새롭게 알게된 내용들만을 정리하였습니다. 또한 배움이 부족하여 미처 다 파악하지 못한 부분들도 많으니 혹시나 이 포스팅을 보시는 분들께서는 다른 포스팅, 도서, 강의도 함께 참고하시기 바라겠습니다.
1. 정렬
PYTHON에서 데이터프레임 또는 시리즈를 정렬하고싶을때 아래 두 함수를 사용할 수 있다.
- sort_index(ascending = True(or False))
- sort_values(by='정렬하고싶은 컬럼명', ascending = True(or False))
DataFrame이든 Series든 동일하다.
sort_index의 경우 index를 정렬해주는 기능이고,
sort_values는 정렬하고자하는 열을 지정해서 정렬할 수 있는 기능이다.
2. 피벗테이블
pandas 피벗테이블 기능은 두 개의 서로 다른 컬럼을 가지고서 하나의 피벗테이블을 만들때 사용하는 함수다
오늘 사용한 예시 데이터로 위 테이블에서 cuisine_type과 day_of_the_week를 가지고서 피벗 테이블을 만들고 싶었다.
이 경우 두 개의 컬럼 중 어떤 컬럼이 index로 들어갈지, column으로 들어갈지 지정해줘야하기때문에
pivot_table 기능을 사용해야했다.
pivot_table(테이블명, values=' ', index = ' ', columns=' ', aggfunc='어떻게 합칠지(ex. count, sum)')
만약 아래와같이 피벗테이블로 만들고싶은 컬럼만으로 이루어진 테이블이 있다면 pivot_table이 아닌 pivot 기능을 사용하면 된다.
피벗 코드 예시는 아래와 같다.
cohort_counts = cohort_data.pivot(index="start_week",
columns="week",
values="user_id")
cohort_counts
3. 히트맵
plt.figure(figsize=(14,5))
plt.pcolor(food_data_pivot_table)
plt.xticks(np.arange(0.5, len(food_data_pivot_table.columns), 1), food_data_pivot_table.columns)
plt.yticks(np.arange(0.5, len(food_data_pivot_table.index), 1), food_data_pivot_table.index)
plt.title('업종별 주중/주말 주문 건수', fontsize=20, pad=20)
plt.xlabel('주중/주말', size=15, labelpad=20)
plt.xticks([0.5,1.5], labels=['주중', '주말'], fontsize=15)
plt.ylabel('업종', rotation = 360, size=15, labelpad=30)
plt.colorbar()
plt.show()
차트 종류 중 히트맵 차트를 만들 수 있는 코드이다.
bar 그래프나 line 그래프 코드와 차이점이라고 한다면
plt.pcolor(food_data_pivot_table)
plt.xticks(np.arange(0.5, len(food_data_pivot_table.columns), 1), food_data_pivot_table.columns)
plt.yticks(np.arange(0.5, len(food_data_pivot_table.index), 1), food_data_pivot_table.index)
이 부분이 들어간다는 점이다.
피벗 테이블을 만들면 x축과 y축이 정해지기때문에 x축과 y축에 어떤 컬럼이 들어가야하는지 별도로 지정해줄 필요는 없고 위 코드처럼만 작성을 해주면 된다.
그렇게 했을때의 결과물은 아래와 같다.
'데이터 분석 공부 > Python' 카테고리의 다른 글
PYTHON 정리(점프투파이썬 - 문자열)(23.12.28) (1) | 2023.12.28 |
---|---|
PYTHON 정리(iterable, 조작적 정의, 인과관계&상관관계, round함수 유의사항)(23.12.26) (0) | 2023.12.27 |
PYTHON 정리(sorted, join, describe, 축 눈금 수정)(23.12.22) (0) | 2023.12.22 |
PYTHON 정리(제곱 & 제곱근, 특정 열(or 행) 제거, 히스토그램 & 바 그래프, groupby)(23.12.20) (0) | 2023.12.20 |
PYTHON 정리(데이터 타입 확인, 데이터 타입 변경, 상관관계, 값 대체)(23.12.19) (0) | 2023.12.19 |