728x90
반응형
아래 글에 이어서 진행
[데이터 수집][Crawling] 영화 데이터 전처리 및 시각화
영화 데이터 전처리 및 시각화 1. 외부파일 읽어들이기 제목 : "title" , 평점 : "score", 리뷰 : "comment", 긍정/부정 : "label" ### 라이브러리 정의 # - 행렬데이터 처리 라이브러리 import pandas as pd file_path =
mzero.tistory.com
6. 영화별 평점 평균 시각화 (3) - 원형 그래프 그리기
🌳긍정, 부정, 기타에 대한 원형 그래프 시각화하기
fig, axs = plt.subplots(5, 2, figsize=(15, 25))
axs = axs.flatten()
### 빈도 비율별 색상 정의
colors = ["pink", "gold", "whitesmoke"]
### 라벨 정의(파이 쪼개기)
labels_dict = {0 : "부정(1~4점)", 1 : "긍정(8~10점)", 2 : "기타(5~7점)"}
### 긍정/부정에 대한 원형 그래프 그리기
for title, ax in zip(avg_score.keys(), axs) :
### 영화별 건수 필터링하기
num_reviews = len(df_new[df_new["title"] == title])
# print(f"num_reviews = {num_reviews}")
### label 컬럼의 범주별로 갯수 필터링 하기
# df_new["title"]==title 이 값을 만족하는 데이터만 추출
values = df_new[df_new["title"]==title]["label"].value_counts()
#print(f"values = {values}")
### 원형 그래프에 표시할 라벨값 정의하기
# - 영화별로 긍정 또는 부정 또는 기타 중에 하나라도 없으면 처리가 필요함
label_list = df_new[df_new["title"]==title]["label"].unique()
labels=[]
for k in label_list :
### 영화별 실제 존재하는 긍정/부정/기타 라벨 정의하기
labels.append(labels_dict[k])
### 각 그래프 제목 넣기
ax.set_title(f"{title} ({num_reviews}명)", fontsize=15)
### 원형(pie) 그래프 그리기
ax.pie(values,
# 원형그래프에 표시할 라벨 지정
labels = labels,
# 원형 그래프에 표시할 값의 소숫점 자리수 지정
autopct = "%1.1f%%",
# 원형 그래프 각 영역의 색상 지정
colors=colors,
# 그림자 효과 지정하기
shadow=True,
# 그래프의 시작위치를 12시 방향으로
startangle=90)
### 이미지 저장하기
plt.savefig("./img/긍정_부정_원형그래프_시각화.png")
plt.show()
🌳 최종 전처리된 데이터는 파일로 관리하기
- 파일명 df_new.csv
- 인덱스 미포함
- 저장 위치 : data 폴더
df_new.to_csv("./data/df_new.csv", index=False)
728x90
반응형
'Digital Boot > Database' 카테고리의 다른 글
[데이터 수집][Crawling] 데이터프레임 시각화 정리 (7) | 2023.12.05 |
---|---|
[데이터 수집][Crawling] 영화 긍정 / 부정 리뷰 데이터 빈도 분석 및 워드 클라우드 시각화 (4) | 2023.12.05 |
[데이터 수집][Crawling] 영화 데이터 전처리 및 시각화 (1) (4) | 2023.12.04 |
[데이터수집][Crawling] 웹 크롤링을 이용한 영화 데이터수집 (1) | 2023.12.04 |
[Data Wrangling] 데이터 전처리 시각화 - 히트맵 / 막대그래프 / histplot / 선그래프 (1) | 2023.11.30 |