graphlab SFrame对列中的所有值求和

2024-10-01 17:36:17 发布

您现在位置:Python中文网/ 问答频道 /正文

如何求和SFrame graphlab列中的所有值。我试图查看官方文档,但它只针对SaArray(doc) 没有任何例子。在


Tags: 文档doc官方例子graphlabsframesaarray
2条回答

我认为op的问题更多的是关于如何同时在所有(或一系列)列中执行此操作。以下是熊猫和格拉芙拉布的比较。在

# imports
import graphlab as gl    
import pandas as pd
import numpy as np

# generate data
data = np.random.randint(0,10,size=100).reshape(10,10)
col_names = list('ABCDEFGHIJ')

# make dataframe and sframe
df = pd.DataFrame(data, columns=names)
sf = graphlab.SFrame(df)

# get sum for all columns (pandas).  Returns a series.
df.sum().sort_values(ascending=False)

D    65
A    61
J    59
B    50
H    46
G    46
I    45
F    43
C    37
E    36

# sf.sum() does not work
# get sum for each of the columns (graphlab)
for col in col_names:
    print col, sf[col].sum()

A 61
B 50
C 37
D 65
E 36
F 43
G 46
H 46
I 45
J 59

我也有同样的问题。Pandas提供了一个简单的界面,可以跨数据帧的行或列应用聚合函数。找不到相同的SFrame?我唯一能想到的方法就是迭代列列表。在

有更好的方法吗?在

>>> import graphlab as gl
>>> sf = gl.SFrame({'foo':[1,2,3], 'bar':[4,5,6]})
>>> sf
Columns:
        bar     int
        foo     int

Rows: 3

Data:
+  -+  -+
| bar | foo |
+  -+  -+
|  4  |  1  |
|  5  |  2  |
|  6  |  3  |
+  -+  -+
[3 rows x 2 columns]
>>> sf['foo'].sum()
6

相关问题 更多 >

    热门问题