2016-07-20 2 views
4

graphlab을 설치하지 않고 SFrame에서 groupby 작업을 사용하는 방법.Graphlab을 설치하지 않고 SFrame에서 그룹화

나는 어떤 집계를하고 싶지만, 인터넷의 모든 예에서 집계 함수는 Graphlab에서 나온다.

처럼 :

import graphlab.aggregate as agg 

user_rating_stats = sf.groupby(key_columns='user_id', 
          operations={ 
           'mean_rating': agg.MEAN('rating'), 
           'std_rating': agg.STD('rating') 
          }) 

내가 사용할 수있는 방법은, 말하자면, 위의 예에서 numpy.mean하지 agg.MEAN?

답변

3

sframe 패키지에는 graphlab 패키지와 동일한 집계 모듈이 포함되어 있으므로 numpy를 사용하지 않아도됩니다.

import sframe 
import sframe.aggregate as agg 

sf = sframe.SFrame({'user_id': [1, 1, 2], 
        'rating': [3.3, 3.6, 4.1]}) 
grp = sf.groupby('user_id', {'mean_rating': agg.MEAN('rating'), 
          'std_rating': agg.STD('rating')}) 
print(grp) 

+---------+---------------------+-------------+ 
| user_id |  std_rating  | mean_rating | 
+---------+---------------------+-------------+ 
| 2 |   0.0   |  4.1  | 
| 1 | 0.15000000000000024 |  3.45 | 
+---------+---------------------+-------------+ 
[2 rows x 3 columns] 
관련 문제