1. 시각화
프로젝트하면서 피봇 테이블과 시각화 차트 구현 부분을 많이 맡았다.
Pandas와 Matplotlib, Seaborn을 활용해 피봇 테이블로 컬럼 간의 관계를 확인하고, 이를 시각화하여 표현하고 있다.
1) 컬럼의 순서 바꾸는 법
# ['pod_lis_frequency']내 unique값 원하는 순서대로 정렬한 리스트 생성
my_order =['Daily', 'Several times a week', 'Once a week', 'Rarely', 'Never']
# pd.Categorical 함수를 활용해 spotify['pod_lis_frequency']를 정렬된 범주화 데이터로 변환
spotify['pod_lis_frequency']=pd.Categorical(spotify['pod_lis_frequency'], categories=my_order, ordered=True)
① 카테고리 순서 정의
: 범주형 데이터인 spotify.['pod_lis_frequency']의 각 범주의 순서를 my_order 리스트로 지정한다.
② 데이터프레임의 컬럼을 범주형 데이터로 변환
pd.Categorical 함수를 활용해 'pod_lis_frequency' 데이터를 my_order로 정한 순서대로 정렬된 범주형 데이터로 변환한다.
ordered=True 매개변수는 이 범주가 순서가 있는 것임을 나타낸다.
spotify['pod_lis_frequency'] 컬럼을 조회해보니 맨 마지막 Categories에
['Daily' < 'Several times a week' < 'Once a week' < 'Rarely' < 'Never'] 처럼 부등호로 값이 표시되어 있었다.
Categorical 함수가 값들에 중요도나 크기도 부여하는지 궁금해서 챗GPT한테 물어봤다.
범주형 데이터의 정해진 순서를 나타낼 뿐 크기나 중요도를 비교할 수는 없다는 답을 얻었다.
챗GPT가 이렇게 쓸모있다고 느껴진 건 살면서 처음...
지금 거의 내 과외선생님이다,,
2) 차트 색깔 바꾸기
defector_pod_percentage.plot(kind='barh', color=['lightgreen', 'mediumseagreen'], figsize=(10, 6))
① Matplotlib: color=['lightgreen', 'mediumseagreen']
: 그냥 color 인자를 넣어서 원하는 색을 지정하면 되는 거였다니..
저걸 몰라서 매번 seaborn으로 데이터 끌고 와서 pallette 인자로 해결했었다...
# Seaborn의 barplot을 사용하여 초록 계열의 막대 그래프 생성
sns.barplot(data=defector_pod, palette='Greens_r', ci=None)
# 그래프 꾸미기
plt.title('Podcast Listening Frequency by Defector')
plt.xlabel('Defector')
plt.ylabel('Frequency')
plt.legend(title='Defector', labels=['Not Defector', 'Defector'])
# 그래프 표시
plt.show()
② Seaborn: palette='Greens_r'
pd.Categorical 함수를 활용해 'pod_lis_frequency' 데이터를 my_order로 정한 순서대로 정렬된 범주형 데이터로 변환한다.
ordered=True 매개변수는 이 범주가 순서가 있는 것임을 나타낸다.
표준 편차를 나타내는 검정 선을 없애고 싶다면 'ci=None' 인자를 추가해주면 된다.
이제 외울 때도 됐는데... 안외워진다 증말...
'⛴️ Data Analyst' 카테고리의 다른 글
[미니 프로젝트] 프로젝트 회고 (0) | 2024.05.27 |
---|---|
[기초 프로젝트 | Day 4] 데이터 리터러시의 중요성 (0) | 2024.05.22 |
[기초 프로젝트 | Day 2] 가설의 중요성 (0) | 2024.05.20 |
[기초 프로젝트 | Day 1] 프로젝트 온보딩 - 스포티파이 팟캐스트 서비스가 프리미엄 구독 플랜에 미치는 영향 (0) | 2024.05.17 |
데이터 분석가 타입 (0) | 2024.05.09 |