2

尝试通过与列表不匹配的值对数据表进行子集化:

DT1 = dt.Frame(A = ['a', 'b', 'c', 'd'])
sel_rows = functools.reduce(operator.or_,(f.A != obs for obs  in ['a', 'b']))
DT1[sel_rows, :]

但是,这会返回所有行,

我希望只返回具有 only'c''d'in 列的行。A

为什么全部退回?我如何编辑它以具有该行为。

4

1 回答 1

2

通过更改operator.oroperator.and...解决了它

DT1 = dt.Frame(A = ['a', 'b', 'c', 'd'])
sel_rows = functools.reduce(operator.and_,(f.A != obs for obs in ['a', 'b']))
DT1[sel_rows, :]
于 2021-08-11T20:04:24.160 回答