()
| 830 | |
| 831 | |
| 832 | def 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) |
nothing calls this directly
no test coverage detected