• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

쿼리질문합니다!

22.03.16 00:59 작성 조회수 124

0

user_profile_list = []

for userId in train['userId'].unique():
user = train[train['userId']==userId]
X_train = user[genres.columns]
y_train = user['rating']

reg = Lasso(alpha=0.03)
reg.fit(X_train, y_train)
user_profile_list.append([reg.intercept_, *reg.coef_])
 
이 부분을 배우고 있는데
다음 반복문에서 user[genres.columns], user['rating']
처럼 userId행을 가지고 다니지 않고 있는데
나중에
 
user_profile_lasso =
pd.DataFrame(user_profile_list,
index=train['userId'].unique(),
columns = ['intercept',*genres.columns])
 
 
쿼리를 작성할 때 index에 train['userId']를 갑자기 껴넣는다고
user_profile_list와 맞물려 작동하나요?
 

답변 1

답변을 작성해보세요.

0

pandas 에서 제공하는 unique() 메소드는 데이터 안의 중복을 없애주는데요. 데이터의 출연 순서대로 numpy.ndarray 를 리턴해줍니다.

https://pandas.pydata.org/docs/reference/api/pandas.unique.html

 

위에 반복문에서 train['userId'].unique()  계산해준 순서대로 user_profile_list 가 만들어졌기 때문에, train['userId'].unique() 를 인덱스로 하는 데이터 프레임을 만들어줄 수 있게 됩니다 :)