Python 在SFrame中选择特定行

Python 在SFrame中选择特定行,python,graphlab,sframe,Python,Graphlab,Sframe,我一直对如何在SFrame数组中选择特定行感到困惑。我可以在这里选择第一行: sf +-------------------------------+ | X1 | +-------------------------------+ | [0.0, 0.0, 0.0, 0.0, 0.0, ... | [100 rows x 1 columns] sf[:1] +-------------------------------+ |

我一直对如何在SFrame数组中选择特定行感到困惑。我可以在这里选择第一行:

sf
+-------------------------------+
|               X1              |
+-------------------------------+
| [0.0, 0.0, 0.0, 0.0, 0.0, ... |
[100 rows x 1 columns]

sf[:1]
+-------------------------------+
|               X1              |
+-------------------------------+
| [0.0, 0.0, 0.0, 0.0, 0.0, ... |
[1 rows x 1 columns]

sf[:2]
+-------------------------------+
|               X1              |
+-------------------------------+
| [0.0, 0.0, 0.0, 0.0, 0.0, ... |
| [0.0, 0.0, 0.0, 0.0, 0.0, ... |
[2 rows x 1 columns]

type(sf[:1])
graphlab.data_structures.sframe.SFrame
在这里,我试着去第二排

sf[:,2]
# TypeError: Invalid key type: must be str, bytes or type

如何选择数据框中的任何行?

您可以使用以下选项选择行:

import graphlab as gl
sf = gl.SFrame({'a':[1,2,3], 'b':[2,9,1]})
# select first row
print sf[0]
# select second row
print sf[1] 
# and so on
# convert first row to an SFrame
sf_one_raw = sf[0:1]
# convert second row to an SFrame
sf_one_raw = sf[1:2]

问题是类型(sf[0])是dict与SFrame的比较你没有说你想要SFrame。为返回一行SFrame而进行的后期编辑。