在不安装 graphlab 的情况下在 SFrame 中分组
Group by in SFrame without installing graphlab
如何在不安装graphlab的情况下在SFrame中使用groupby操作
我很想做一些聚合,但在互联网上的所有示例中,我都看到聚合函数来自 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
?
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]
如何在不安装graphlab的情况下在SFrame中使用groupby操作
我很想做一些聚合,但在互联网上的所有示例中,我都看到聚合函数来自 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
?
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]