이전에 해봤던 방법을 통해 새로운 데이터로 가지고 놀아보자

이번의 사용할 데이터는 아래와 같다. (경로: data/movielens/users.dat)
user.dat 이렇게 csv와 같이 ::을 통해 각 열이 분류되어 있는 데이터이며
각 열은 번호, 성별, 연령, 직업코드, 우편번호를 뜻한다.

그렇다면 이걸 지난 번 처럼 Pandas를 이용해 읽어보고 샘플 데이터를 뽑아보자

import pandas as pd
users = pd.read_csv(
    'C:/Users/user/Documents/Python/BigPy/data/movielens/users.dat',
    sep='::', engine='python',
    names=['user_id', '성별', '연령', '직업코드', '우편번호']
)
users[:5]

샘플5
같은 방법으로 두가지 연습 문제를 풀어보자

  1. ratings.dat를 데이터프레임으로 생성. 열제목은 user_id, movie_id, 평점, 타임스탬프
  2. movies.dat를 데이터프레임으로 생성. 열제목은 movie_id, 제목, 장르
    답은 다음과 같다.
# ratings.dat를 데이터프레임으로 생성. 열제목은 user_id, movie_id, 평점, 타임스탬프
ratings = pd.read_csv(
    'C:/Users/user/Documents/Python/BigPy/data/movielens/ratings.dat',
    sep='::', engine='python',
    names=['user_id', 'movie_id', '평점', '타임스탬프']
)
ratings[:5]

# movies.dat를 데이터프레임으로 생성. 열제목은 movie_id, 제목, 장르
movies = pd.read_csv(
    'C:/Users/user/Documents/Python/BigPy/data/movielens/movies.dat',
    sep='::', engine='python',
    names=['movie_id', '제목', '장르'],
)
movies.sample(5)


임의로 각 데이터를 users, ratings, movies 라고 하였다.
이제 이걸 머지해보자.
머지하는 방법은 아주 쉽다. pd.merge(a, b)를 하면 되는데 바로 해보자.
ratings과 users를 합치고 이걸 또 movies로 합쳐보자

users와 ratings 를 user_id가 연결해주고
ratings과 movies를 movie_id가 연결되어 있기에
순서에 맞게 머지를 하여야 중복데이터가 안생기고 꼬이지 않는다.

data = pd.merge(ratings, users)
data = pd.merge(data, movies)
data[:5]


그렇다면 결과는 이렇게 나온다. 신기해라 결과
이제 data라는 곳에 해당 표(table)이 저장되었다.
이제 이걸 이용해 피벗 테이블을 만들어보자.