问题标签 [sframe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
845 浏览

python - 从 Graphlab SFrame 的特定列中查找具有“不适用”值的行

给定一个Graphlab.SFrame具有以下列名称的对象:

可以轻松地删除特定列中具有“不适用”(NA)/无值的行,例如删除“分数”列的具有 NA 值的行,我可以这样做:

或者用某个值(比如说-1)替换 None 值,我可以这样做:

https://dato.com/products/create/docs/generated/graphlab.SFrame.html检查 SFrame 文档后,没有内置函数来查找包含 None 对于某一列的行,一些喜欢sf.findna('Score')。或者我可能错过了它。

如果有这样的功能,它叫什么?

如果没有,我应该如何提取该行中有指定列的行具有 NA 值?

0 投票
1 回答
266 浏览

python - 在 Python 中高效地拆分数据

考虑以下代码

我在这段代码中试图将我在Sales Sframe(类似于 Pandas DataFrame)中的数据随机分成大约 4 个相等的部分。

什么是 Pythonic/Efficient 方法来实现这一目标?

0 投票
1 回答
1093 浏览

python - 如何找到在 Graphlab SFrame 中保存时引发错误的特定行?

我有一个SFrame看起来像这样的sf.print_rows(10)

但是当我尝试将其保存到 csv 中时sf.save('trainers.csv', format='csv'),它会引发错误:

我打印 n 号。sf.print_rows(10)一次一行的行,例如sf.print_rows(100)和 at sf.print_rows(129),它会引发错误:

所以我做了一个sf.fillna(c, 0)

它引发了另一个错误:

如何找到在 Graphlab SFrame 中保存时引发错误的特定行?

我该如何修复这一行?我可以用 替换行中有问题的列fillna()吗?我真的不能把这些行扔掉,dropna()因为我需要跟踪有问题的行。

但即使有dropna(),我最终还是:

如何找到这些给我错误或 ZeroDivisionErrors 的行?以及如何更正它们或用零填充这些列?

奇怪的是,当我尝试通过以下方式遍历 SFrame 时,我无法遍历 SFrame:

它抛出这个错误:

它变得更奇怪了,我无法检索特定的行,sf[num]但我可以做一个子 SFrame,然后检索该特定的num行。所以这:

休息和投掷:

但是当我尝试提取一个子集然后打印时,它可以工作。下面的代码检索之前使用上面的代码抛出错误的第 25 个元素:

前面的代码sf[25]抛出 a 有什么原因NoneType吗? sf[0]可以sf[24]工作,但 25 岁以上的任何东西都没有。

显然,以这种方式迭代 SFrame 并将其转储为 str sorta 工作:

这很奇怪。为什么以块进行迭代并转储到字符串有效?

0 投票
2 回答
4561 浏览

python - 将 graphlab sframe 转换为 {key: values} 的字典

给定一个这样的 SFrame:

如何将 SFrame 转换为字典,使得X1列是键X2X7作为np.array()

我尝试逐行遍历原始 SFrame 并执行以下操作:

还有另一种方法可以做到这一点吗?


已编辑

在尝试了@papayawarrior 解决方案之后,如果我可以将整个数据帧加载到内存中,它就可以工作,但是有一些古怪的东西让它变得很奇怪。

假设我对 SFrame 的原始输入如上所示(有 501 列)但在.csv文件中,我有代码将它们读入所需的字典:

但奇怪的是它给出了这个错误:

因此,当我在转换为字典之前检查列名时,我发现我的列名不是 'X1' 和 'X2' 而是list(df)prints ['X501', 'X3']

我的转换方式有问题graphlab.SFrame -> pandas.DataFrame -> dict吗?

我知道我可以通过这样做来解决问题,但问题仍然存在,“列名如何变得如此奇怪?”:

0 投票
1 回答
263 浏览

python - sFrame 变成 scipy.sparse csr_matrix

我有一个像这样的框架:

我想在不调用 graphlab create 的情况下转换为 scipy.sparse csr_matrix,而只使用 sframe 和 Python。

怎么做?

0 投票
1 回答
141 浏览

python-2.7 - 如何在graphlab(python 2.7)中将日期从unix时间戳转换为人类可读格式

我正在处理 34gb 的大文本文件。我已经使用 graphlab create 成功解析了文件。数据集中有一列关于日期。日期以 unix 时间戳显示。如何将输入文件(转换为 SFrame)中的 UNIX 时间戳转换为人类可读的格式?

0 投票
2 回答
2661 浏览

python - AttributeError:“模块”对象没有属性“Sframe”

我首先直接从其可执行文件安装了 Dato ,然后通过(此处的说明GraphLab Create)手动运行以进行故障排除。python 27pip

代码:

输出:

现在,尝试将 .csv 文件加载为 Sframe:

抱怨:

任何想法如何确定问题?非常感谢。

注意:卸载已经存在的python 34版本

0 投票
1 回答
1575 浏览

sframe - 为单个 SFrame 元素赋值

我想为 SFrame 中的单个元素(即单行和单列)分配一个值。我正在使用 Python Notebook 并导入 graphlab。

我创建了一个尺寸为 16364 行 x 37 列的 SFrame。“测试”列包含零。

我使用以下语法来设置值:sf[1]['test'] = 3;

如果我然后输入: sf[1]['test']

然后我看到正确的值,即“3”

但如果我输入:sf

然后我只看到'test'列的所有行的值为零

sf.head() 或 sf['test'] 或 sf['test'].head() 也相同

我不明白为什么一种语法会显示“3”的值,而另一种则不会。sf[1]['test'] 中的值是 3 还是 0 ?

0 投票
4 回答
1893 浏览

python - Dato:pandas 中 graphlab.random_split() 的等效函数是什么?

我正在 Coursera 上学习机器学习课程。在课程中,强调我们使用来自Dato的 GraphLab 。在其中一个练习中,讲师使用 graphlab.random_split() 来拆分 SFrame,如下所示:

我已经完成了第一周的课程,测验要求我们使用 GraphLab 和 SFrame 解决问题。我尝试安装 GraphLab,但是它需要 64 位 PC,而我的 PC 是 32 位。如果我们愿意,教练已经让我们选择使用 Pandas,所以我开始使用 Pandas。

我的问题是这个,教练使用sales.random_split(.8,seed=0),这会给他train_data, test_data。他将使用它们进行进一步分析,并为此得出答案。

现在,如果我不使用会以完全相同的方式拆分数据的 pandas 函数,我的答案将永远不会匹配他的答案,我也永远无法通过这个测验。我有兴趣使用的熊猫功能是:

我的问题是:将pandas.DataFrame.sample(frac=0.8, random_state=0)产生与sales.random_split(.8,seed=0).

我已经写信给导师,我正在等待他的回复,同时如果有人可以帮助我,请帮忙。谢谢你。

0 投票
1 回答
408 浏览

python - 创建 sframe 逻辑分类器

我正在使用 graphlab-create 来构建一个逻辑分类器。我的数据在 sframe 中(我已经使用 .dtype 进行了检查)这是针对使用亚马逊评论 zip 文件进行机器学习的 Coursera 课程:

但是,当我运行此代码时:

有什么我想念的吗?