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 |