본문 바로가기
파이썬 지식인

[파이썬 과제] 영화제목별 별점의 평균을 계산해서 csv로 저장하기

by 온나인장인 2022. 10. 27.
반응형

이해를 돕기위한 영상을 첨부합니다.

 

https://youtu.be/G_t0I3L6xos

 

1. review.csv파일을 읽어들인다

2. 평점의 평균을 구한다
3. average_rating.csv 저장한다.
1) 해더(book_title, average_rating)

 

2) 소수점 아래 자리수는 고려 안한다.

 

<구상>
csv에서 get_data()로 읽어오기
데이터를 book별로 묶기
book별 평균별점 계산
result_table 작성
 
 
# 라이브러리 불러오기
import pandas as pd

# csv 파일 읽어들이기
data = pd.read_csv('/content/review.csv')
data

# book list를 알아내자
# dataframe형식인 data에서 내용물을 하나씩 꺼내서
# list형식인 temp에 append함으로 list형식으로 변경
titles = data['book_title']
temp = []
for name in titles:
  # print(name)
  temp.append(name)

# 리스트 안에 중복이 없게 하는 방법
# 리스트를 set형으로 바꾸었다가 다시 list로 변환
# a = [1,1,2,2,3]
# b = set(a)
# a = list(b)
# a
temp_set = set(temp)
temp_list = list(temp_set)
temp_list

# 데이터에 필터를 걸어서 book title과 평점만 볼수 있게 함.
# 인덱스를 북 타이틀로 변경
data_simple = data.filter(items = ['book_title','stars_given'])
data_simple = data_simple.set_index('book_title')
# data_simple.filter(like='I Robot',axis=0)

result_table = []
for title in temp_list:
  # 특정 title이름을 가진 데이터 '행'(가로줄)을 뽑아냄
  book_data = data_simple.filter(like=title,axis=0)
  
  #평균 계산
  average = book_data['stars_given'].mean()

  #result_table에 타이틀과 평균을 저장 [].append(title, average)
  result_table.append([title,average])
# result_table
# 데이터프레임화, 헤더를 추가
result = pd.DataFrame(data=result_table,columns=['book_title', 'average_rating'])
result

# csv로 저장
result.to_csv('average_rating.csv', index=False, encoding='cp949')

 

실습이 중요합니다!

 

average_rating.csv
0.00MB
review.csv
0.00MB
제목 없음.png
0.04MB

반응형