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

Function test_where_mask

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

Source from the content-addressed store, hash-verified

830
831
832def test_where_mask():
833 pdf1 = pd.DataFrame(
834 {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [3, 5, 2, 5, 7, 2, 4, 2, 4]}
835 )
836 ddf1 = dd.from_pandas(pdf1, 2)
837 pdf2 = pd.DataFrame({"a": [True, False, True] * 3, "b": [False, False, True] * 3})
838 ddf2 = dd.from_pandas(pdf2, 2)
839
840 # different index
841 pdf3 = pd.DataFrame(
842 {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [3, 5, 2, 5, 7, 2, 4, 2, 4]},
843 index=[0, 1, 2, 3, 4, 5, 6, 7, 8],
844 )
845 ddf3 = dd.from_pandas(pdf3, 2)
846 pdf4 = pd.DataFrame(
847 {"a": [True, False, True] * 3, "b": [False, False, True] * 3},
848 index=[5, 6, 7, 8, 9, 10, 11, 12, 13],
849 )
850 ddf4 = dd.from_pandas(pdf4, 2)
851
852 # different columns
853 pdf5 = pd.DataFrame(
854 {
855 "a": [1, 2, 3, 4, 5, 6, 7, 8, 9],
856 "b": [9, 4, 2, 6, 2, 3, 1, 6, 2],
857 "c": [5, 6, 7, 8, 9, 10, 11, 12, 13],
858 },
859 index=[0, 1, 2, 3, 4, 5, 6, 7, 8],
860 )
861 ddf5 = dd.from_pandas(pdf5, 2)
862 pdf6 = pd.DataFrame(
863 {
864 "a": [True, False, True] * 3,
865 "b": [False, False, True] * 3,
866 "c": [False] * 9,
867 "d": [True] * 9,
868 },
869 index=[5, 6, 7, 8, 9, 10, 11, 12, 13],
870 )
871 ddf6 = dd.from_pandas(pdf6, 2)
872
873 cases = [
874 (ddf1, ddf2, pdf1, pdf2),
875 (ddf1.repartition([0, 3, 6, 8]), ddf2, pdf1, pdf2),
876 (ddf1, ddf4, pdf3, pdf4),
877 (ddf3.repartition([0, 4, 6, 8]), ddf4.repartition([5, 9, 10, 13]), pdf3, pdf4),
878 (ddf5, ddf6, pdf5, pdf6),
879 (ddf5.repartition([0, 4, 7, 8]), ddf6, pdf5, pdf6),
880 # use pd.DataFrame as cond
881 (ddf1, pdf2, pdf1, pdf2),
882 (ddf1, pdf4, pdf3, pdf4),
883 (ddf5, pdf6, pdf5, pdf6),
884 ]
885
886 for ddf, ddcond, pdf, pdcond in cases:
887 assert isinstance(ddf, dd.DataFrame)
888 assert isinstance(ddcond, (dd.DataFrame, pd.DataFrame))
889 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