이 스 니펫 코드는 사용자가 원하는 것을 수행해야합니다. 별개의 사용자 수와 동일한 행 수와 별개의 위치 수와 동일한 열 수를 갖는 스파 스 등급 매트릭스 (scipy.sparse.csr_matrix)를 작성합니다.
import pandas as pd
import numpy as np
from scipy.sparse import csr_matrix
#Load dataset
df = pd.read_csv('gowalla.csv', sep='\t', names=['user_id','','','','location_id'])
# Group interactions
users_locations = df.groupby(by=['user_id','location_id']).apply(lambda x: 1).to_dict()
# Number of different Users/Locations
nu = len(df['user_id'].unique())
nl = len(df['location_id'].unique())
# Build Rating matrix
row, col = zip(*(users_locations.keys())) #row-> users, col-> locations
map_u = dict(zip(df['user_id'].unique(),range(nu)))
map_l = dict(zip(df['location_id'].unique(),range(nl)))
row_idx = [map_u[u] for u in row]
col_idx = [map_l[l] for l in col]
data = np.array(users_locations.values(), dtype=np.float32)
rating_matrix = csr_matrix((data, (row_idx, col_idx)), shape=(nu,nl))
귀하의 도움에 감사드립니다. 그러나 라이브러리 때문에이 코드를 실행할 수 있습니다. 어떤 도서관을 이용합니까? 그냥 팬더 또는 다른 도서관? – Sulis
나는 수입에 대한 대답을 편집했다. 사용 된 도서관은 판다, scipy 및 numpy입니다. 이 코드는 Python 2.7.9에서 작동합니다. – user9342787