如何取消选择 pydatatable 中特定索引处的行?
How to deselect row(s) at specific indices in pydatatable?
我有如下数据表,
| season title rating
-- + ------ --------------------- ------
0 | 10 The last one 9.7
1 | 1 The pilot 5.6
2 | 4 The one where estelle 7.8
3 | 10 The last one 9.7
4 | 3 The thumb 10
[5 rows x 3 columns]
此处第 0 行和第 3 行重复,我想将第 3 行保留在一边。
在这个例子中,我尝试将其设置为 -
DT_X[f.season!=10, :]
它过滤了两个观察结果,如下所示,
| season title rating
-- + ------ --------------------- ------
0 | 1 The pilot 5.6
1 | 4 The one where estelle 7.8
2 | 3 The thumb 10
[3 rows x 3 columns]
但是,我想进行第一个观察,即索引为 0 并过滤掉第 3 行。
在pydatatable中如何实现?如何使用索引检索数据表行?.
排除第三个索引:
DT[[slice(2), 3], :]
在与 H2O 的团队和@sammyweemmy 讨论后,我想出了一个使用函数切片的解决方案,如下所示。
DT_X[[slice(3),slice(4,None)],:]
“删除select”行的最简单方法是简单地将它们从框架中删除:
del DT_X[3, :] # remove the row at index 3
如果你不想修改原来的框架,那就先创建一个副本(因为没有复制数据所以很快):
DT_clean = DT_X.copy()
del DT_clean[3, :]
如果您需要删除多行,这将特别方便:只需将索引列表作为第一个参数传递即可。
带切片的解决方案也适用:它基于 i
selector 中可以包含事物列表的事实(参见 docs)。因此,为了“deselect”第 3 行,我们将 select 一个切片 :3
然后另一个切片 4:
。不幸的是,Python 只允许方括号内的切片表示法,因此我们必须明确指定上述切片:slice(None, 3)
和 slice(4, None)
。将它们放在一起会得到@myamulla_ciencia:
发布的解决方案
DT_X[[slice(None, 3), slice(4, None)], :]
我有如下数据表,
| season title rating
-- + ------ --------------------- ------
0 | 10 The last one 9.7
1 | 1 The pilot 5.6
2 | 4 The one where estelle 7.8
3 | 10 The last one 9.7
4 | 3 The thumb 10
[5 rows x 3 columns]
此处第 0 行和第 3 行重复,我想将第 3 行保留在一边。
在这个例子中,我尝试将其设置为 -
DT_X[f.season!=10, :]
它过滤了两个观察结果,如下所示,
| season title rating
-- + ------ --------------------- ------
0 | 1 The pilot 5.6
1 | 4 The one where estelle 7.8
2 | 3 The thumb 10
[3 rows x 3 columns]
但是,我想进行第一个观察,即索引为 0 并过滤掉第 3 行。
在pydatatable中如何实现?如何使用索引检索数据表行?.
排除第三个索引:
DT[[slice(2), 3], :]
在与 H2O 的团队和@sammyweemmy 讨论后,我想出了一个使用函数切片的解决方案,如下所示。
DT_X[[slice(3),slice(4,None)],:]
“删除select”行的最简单方法是简单地将它们从框架中删除:
del DT_X[3, :] # remove the row at index 3
如果你不想修改原来的框架,那就先创建一个副本(因为没有复制数据所以很快):
DT_clean = DT_X.copy()
del DT_clean[3, :]
如果您需要删除多行,这将特别方便:只需将索引列表作为第一个参数传递即可。
带切片的解决方案也适用:它基于 i
selector 中可以包含事物列表的事实(参见 docs)。因此,为了“deselect”第 3 行,我们将 select 一个切片 :3
然后另一个切片 4:
。不幸的是,Python 只允许方括号内的切片表示法,因此我们必须明确指定上述切片:slice(None, 3)
和 slice(4, None)
。将它们放在一起会得到@myamulla_ciencia:
DT_X[[slice(None, 3), slice(4, None)], :]