使用时如何对值排序行值()在SFrame行上?

2024-04-16 21:18:19 发布

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

使用时值是如何排序的行值()在graphlab.SFrame行中?

例如:

import graphlab as gl
x = gl.SFrame({'X200':[1,2,3], 'X100':[4,5,6], 'X1': [7,8,9]})
row = x[0] # first row
print row.values()

[出来]:

^{pr2}$

所以看起来它们是按键/列名排序的,但这总是真的吗?如果有任何指向python dictionary或SFrame文档的指针,我们将不胜感激。在


Tags: import排序asrowfirstvaluesprintx1
2条回答

这更像是一个Python字典问题(参见Key Order in Python Dictionaries)。在python中,.values()方法以任意顺序返回值。一行SFrame就是一个字典。在

否,row.values()将不返回已排序的列表,因为row是一个python字典,它是未排序的。在

证明这一点:

>>> x = gl.SFrame({'X1': ['foo', 'bar', 'blah'], 'X3':[1,2,3], 'X2':[4,5,6]})
>>> x[0].values()[1:]
[1, 'foo']

似乎要获取已排序的值,必须先进行一些键排序:

^{pr2}$

相关问题 更多 >