问题标签 [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.
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 值?
python - 在 Python 中高效地拆分数据
考虑以下代码
我在这段代码中试图将我在Sales
Sframe(类似于 Pandas DataFrame)中的数据随机分成大约 4 个相等的部分。
什么是 Pythonic/Efficient 方法来实现这一目标?
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 工作:
这很奇怪。为什么以块进行迭代并转储到字符串有效?
python - 将 graphlab sframe 转换为 {key: values} 的字典
给定一个这样的 SFrame:
如何将 SFrame 转换为字典,使得X1
列是键X2
并X7
作为np.array()
?
我尝试逐行遍历原始 SFrame 并执行以下操作:
还有另一种方法可以做到这一点吗?
已编辑
在尝试了@papayawarrior 解决方案之后,如果我可以将整个数据帧加载到内存中,它就可以工作,但是有一些古怪的东西让它变得很奇怪。
假设我对 SFrame 的原始输入如上所示(有 501 列)但在.csv
文件中,我有代码将它们读入所需的字典:
但奇怪的是它给出了这个错误:
因此,当我在转换为字典之前检查列名时,我发现我的列名不是 'X1' 和 'X2' 而是list(df)
prints ['X501', 'X3']
。
我的转换方式有问题graphlab.SFrame -> pandas.DataFrame -> dict
吗?
我知道我可以通过这样做来解决问题,但问题仍然存在,“列名如何变得如此奇怪?”:
python - sFrame 变成 scipy.sparse csr_matrix
我有一个像这样的框架:
我想在不调用 graphlab create 的情况下转换为 scipy.sparse csr_matrix,而只使用 sframe 和 Python。
怎么做?
python-2.7 - 如何在graphlab(python 2.7)中将日期从unix时间戳转换为人类可读格式
我正在处理 34gb 的大文本文件。我已经使用 graphlab create 成功解析了文件。数据集中有一列关于日期。日期以 unix 时间戳显示。如何将输入文件(转换为 SFrame)中的 UNIX 时间戳转换为人类可读的格式?
python - AttributeError:“模块”对象没有属性“Sframe”
我首先直接从其可执行文件安装了 Dato ,然后通过(此处的说明GraphLab Create
)手动运行以进行故障排除。python 27
pip
代码:
输出:
现在,尝试将 .csv 文件加载为 Sframe:
抱怨:
任何想法如何确定问题?非常感谢。
注意:卸载已经存在的python 34
版本
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 ?
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)
.
我已经写信给导师,我正在等待他的回复,同时如果有人可以帮助我,请帮忙。谢谢你。
python - 创建 sframe 逻辑分类器
我正在使用 graphlab-create 来构建一个逻辑分类器。我的数据在 sframe 中(我已经使用 .dtype 进行了检查)这是针对使用亚马逊评论 zip 文件进行机器学习的 Coursera 课程:
但是,当我运行此代码时:
有什么我想念的吗?