Select SFrame 中的特定行

Select a specific Row in SFrame

我对如何 select SFrame 数组中的特定行感到困惑。我可以 select 这里的第一行:

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

这里我尝试只获取第 2 行

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

我如何 select 数据框中的任何行?

您可以 select 一行:

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]