언어/Python

Python_영화 평점 구하기

asu2880 2022. 6. 20. 16:58

1. 텍스트 파일에 있는 데이터 가져오기

data = np.loadtxt('ratings.txt', delimiter = "::", dtype='int')
data

 

2. 데이터의 차원, 크기, 요소 갯수 출력

# 데이터의 차원, 크기, 요소갯수 출력
print(data.shape) 
print(type(data)) 
print(data.size)
print(data.ndim)

 

3. 전체 데이터의 평점 평균 구하기

# 전체 데이터의 평점 평균 구하기
print(data[:, 2].mean())

 

4. 1번 사용자의 평점 평균 구하기

# 1번 사용자의 평점 평균 구하기
# 첫번째 방법
user_id = np.unique(data[:, 0]) # unique는 중복값을 제거

for i in user_id : 
    result = data[data[:, 0] == 1, 2].mean()
result
    
# 두번째 방법
np.mean(data[data[:,0] == 1 ] [:,2])

 

5. 모든 사용자의 평점 평균 구하기

# 4. 모든 사용자의 평점 평균 구하기
# 첫번째 방법
list = []

for i in user_id : 
    result = data[data[:, 0] == i, 2].mean()
    list.append([i, result])
list

# 두번째 방법
for i in user_id:
    result = np.mean(data[data[:, 0] == i][:, 2])
    list.append(i.result)
list

 

6. 평점 평균이 4점 이상인 사용자 구하기

# 평점 평균이 4점 이상인 사용자 구하기
# 첫번째 방법
user = []
for i in user_id : 
    result = data[data[:, 0] == i, 2].mean()
    if result >= 4:
        user4.append(i)
print(user)

# 두번째 방법
mean = np.array(list)
mean[mean[:,1]>=4][:,0].astype(int)

 

728x90
반응형

'언어 > Python' 카테고리의 다른 글

Python_pandas_DataFrame  (0) 2022.06.21
Python_pandas_Series  (0) 2022.06.21
Python_numpy 함수  (0) 2022.06.20
Python_불리언 인덱싱  (0) 2022.06.20
Python_텍스트 파일 불러오기  (0) 2022.06.20