()
| 814 | |
| 815 | |
| 816 | def 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) |
nothing calls this directly
no test coverage detected