열에 연산자를 사용하여 groupby를 수행하려는 sframe이 있습니다. 그러나 키 열이 지정된 sframe 만 반환합니다. 그럼에도 불구하고 일부 열에서 작업을 수행 할 수 있지만 그럼에도 불구하고 모든 열을 유지할 수 있습니까?Graphlab Sframes - groupby의 모든 열을 유지하는 방법
0
A
답변
1
귀하의 질문에 가장 잘 이해할 수 있도록 초기 상태를 잃지 않고 열에서 작업을 수행하려고합니다. 아래의 예가 그 예일 수 있습니다. 우리가 영화 SFrame 김포 등의 데이터 세트가 있다고 가정 : - 위 SFrame에서
movieId userId actors rating
102 10 A,B,C 5
204 8 B,C,D 4
333 3 K,L,M 3
204 11 P,Q,R 1
423 3 K,B,C 4
533 31 K,A,C 2
633 3 P,L,A 3
.
.
...
, 사용자 3은 사용자의 등급을 작동 할 수 있도록 다음
rating_stats = sf.groupby(key_columns='userId',operations {'mean_rating': agg.MEAN('rating')})
, 당신이 좋아하는 수 있으므로 의미, 여러 점을 받았습니다 이미 존재하는 열에 영향을 미치지 않고 SFrame에 발견 된 열을 추가합니다. 즉, SFrame을 유지할 수 있습니다.
sf['mean_rating'] = rating_stats['mean_rating']
sf가 영향을받지 않고 새로운 열을 추가 한 것을 알 수 있습니다.
groupby()
방법을 사용하는 경우 귀하의 질문에 대한 대답은 귀하가 특정 작업을 수행하는 곳에서 별도의 SFrame을 갖는 것이 더 좋을 수 있으며 원본 SFrame을 추가로 사용하거나 추가 할 수 있습니다 검색된 SFrame에 groupby()
방법을 사용하거나 발견 된 SFrame에 join
을 사용할 수도 있지만 원래 SFrame을 계속 변경하는 것은 바람직하지 않습니다. 또한
actors
쉬운 일이 데이터에서 작동하도록
groupby()
을 사용하기 전에
stack
방법을 사용 할 수 있습니다 방법과 같은 열에서 여러 엔티티 점에 유의. 도움이되기를 바랍니다.