datatable.setdiff()

Find the set difference between frame0 and the other frames.

Each frame should have only a single column or be empty. The values in each frame will be treated as a set, and this function will compute the set difference between the frame0 and the union of the other frames, returning those values that are present in the frame0, but not present in any of the frames.

Parameters

frame0
Frame

Input single-column frame.

*frames
Frame | Frame | ...

Input single-column frames.

return
Frame

A single-column frame. The column stype is the smallest common stype of columns from the frames.

except
ValueError | NotImplementedError

dt.exceptions.ValueError

raised when one of the input frames, i.e. frame0 or any one from the frames, has more than one column.

dt.exceptions.NotImplementedError

raised when one of the columns has stype obj64.

Examples

from datatable import dt s1 = dt.Frame([4, 5, 6, 20, 42]) s2 = dt.Frame([1, 2, 3, 5, 42]) s1
C0
int32
04
15
26
320
442
s2
C0
int32
01
12
23
35
442

Set difference of the two frames:

dt.setdiff(s1, s2)
C0
int32
04
16
220

See Also

  • intersect() – calculate the set intersection of values in the frames.

  • symdiff() – calculate the symmetric difference between the sets of values in the frames.

  • union() – calculate the union of values in the frames.

  • unique() – find unique values in a frame.