MCPcopy Create free account
hub / github.com/dask/dask / test_where_mask

Function test_where_mask

dask/dataframe/tests/test_dataframe.py:816–886  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

814
815
816def test_where_mask():
817 pdf1 = pd.DataFrame(
818 {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [3, 5, 2, 5, 7, 2, 4, 2, 4]}
819 )
820 ddf1 = dd.from_pandas(pdf1, 2)
821 pdf2 = pd.DataFrame({"a": [True, False, True] * 3, "b": [False, False, True] * 3})
822 ddf2 = dd.from_pandas(pdf2, 2)
823
824 # different index
825 pdf3 = pd.DataFrame(
826 {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [3, 5, 2, 5, 7, 2, 4, 2, 4]},
827 index=[0, 1, 2, 3, 4, 5, 6, 7, 8],
828 )
829 ddf3 = dd.from_pandas(pdf3, 2)
830 pdf4 = pd.DataFrame(
831 {"a": [True, False, True] * 3, "b": [False, False, True] * 3},
832 index=[5, 6, 7, 8, 9, 10, 11, 12, 13],
833 )
834 ddf4 = dd.from_pandas(pdf4, 2)
835
836 # different columns
837 pdf5 = pd.DataFrame(
838 {
839 "a": [1, 2, 3, 4, 5, 6, 7, 8, 9],
840 "b": [9, 4, 2, 6, 2, 3, 1, 6, 2],
841 "c": [5, 6, 7, 8, 9, 10, 11, 12, 13],
842 },
843 index=[0, 1, 2, 3, 4, 5, 6, 7, 8],
844 )
845 ddf5 = dd.from_pandas(pdf5, 2)
846 pdf6 = pd.DataFrame(
847 {
848 "a": [True, False, True] * 3,
849 "b": [False, False, True] * 3,
850 "c": [False] * 9,
851 "d": [True] * 9,
852 },
853 index=[5, 6, 7, 8, 9, 10, 11, 12, 13],
854 )
855 ddf6 = dd.from_pandas(pdf6, 2)
856
857 cases = [
858 (ddf1, ddf2, pdf1, pdf2),
859 (ddf1.repartition([0, 3, 6, 8]), ddf2, pdf1, pdf2),
860 (ddf1, ddf4, pdf3, pdf4),
861 (ddf3.repartition([0, 4, 6, 8]), ddf4.repartition([5, 9, 10, 13]), pdf3, pdf4),
862 (ddf5, ddf6, pdf5, pdf6),
863 (ddf5.repartition([0, 4, 7, 8]), ddf6, pdf5, pdf6),
864 # use pd.DataFrame as cond
865 (ddf1, pdf2, pdf1, pdf2),
866 (ddf1, pdf4, pdf3, pdf4),
867 (ddf5, pdf6, pdf5, pdf6),
868 ]
869
870 for ddf, ddcond, pdf, pdcond in cases:
871 assert isinstance(ddf, dd.DataFrame)
872 assert isinstance(ddcond, (dd.DataFrame, pd.DataFrame))
873 assert isinstance(pdf, pd.DataFrame)

Callers

nothing calls this directly

Calls 4

assert_eqFunction · 0.90
repartitionMethod · 0.45
whereMethod · 0.45
maskMethod · 0.45

Tested by

no test coverage detected