【发布时间】:2020-06-14 22:06:39
【问题描述】:
我无法使用预定义的项目列表执行标准in 操作。我想做这样的事情:
# Construct a simple example frame
from datatable import *
df = Frame(V1=['A','B','C','D'], V2=[1,2,3,4])
# Filter frame to a list of items (THIS DOES NOT WORK)
items = ['A','B']
df[f.V1 in items,:]
此示例导致错误:
TypeError: A boolean value cannot be used as a row selector
不幸的是,in 操作似乎没有内置对象。我想使用 R 语言原生的 %in% 运算符之类的东西。 有没有什么方法可以在 python 中实现这一点?
我可以通过使用多个“等于”运算符来采用这种方法,但是当您要考虑大量项目时,这很不方便:
df[(f.V1 == 'A') | (f.V1 == 'B'),:]
数据表 0.10.1
蟒蛇 3.6
【问题讨论】:
-
Pandas 对此有
Series.isin,但看起来datatable没有类似的东西。 (datatable文档似乎非常稀少。) -
@martineau:这个问题需要一个通过 LHS 广播的
in版本,而 Python 的in无法做到这一点。
标签: python python-3.x datatable py-datatable