(df, pdf, split_out)
| 1740 | |
| 1741 | @pytest.mark.parametrize("split_out", [1, True]) |
| 1742 | def test_drop_duplicates(df, pdf, split_out): |
| 1743 | with dask.config.set({"dataframe.shuffle.method": "tasks"}): |
| 1744 | assert_eq( |
| 1745 | df.drop_duplicates(split_out=split_out), |
| 1746 | pdf.drop_duplicates(), |
| 1747 | ) |
| 1748 | assert_eq( |
| 1749 | df.drop_duplicates(ignore_index=True, split_out=split_out), |
| 1750 | pdf.drop_duplicates(ignore_index=True), |
| 1751 | check_index=split_out is not True, |
| 1752 | ) |
| 1753 | assert_eq( |
| 1754 | df.drop_duplicates(subset=["y"], split_out=split_out), |
| 1755 | pdf.drop_duplicates(subset=["y"]), |
| 1756 | ) |
| 1757 | assert_eq( |
| 1758 | df.drop_duplicates(subset=["y"], split_out=split_out, keep="last"), |
| 1759 | pdf.drop_duplicates(subset=["y"], keep="last"), |
| 1760 | ) |
| 1761 | assert_eq( |
| 1762 | df.y.drop_duplicates(split_out=split_out), |
| 1763 | pdf.y.drop_duplicates(), |
| 1764 | ) |
| 1765 | assert_eq( |
| 1766 | df.y.drop_duplicates(split_out=split_out, keep="last"), |
| 1767 | pdf.y.drop_duplicates(keep="last"), |
| 1768 | ) |
| 1769 | actual = df.set_index("y").index.drop_duplicates(split_out=split_out) |
| 1770 | if split_out is True: |
| 1771 | actual = actual.compute().sort_values() # shuffle is unordered |
| 1772 | assert_eq( |
| 1773 | actual, |
| 1774 | pdf.set_index("y").index.drop_duplicates(), |
| 1775 | ) |
| 1776 | |
| 1777 | with pytest.raises(KeyError, match="'a'"): |
| 1778 | df.drop_duplicates(subset=["a"], split_out=split_out) |
| 1779 | |
| 1780 | with pytest.raises(TypeError, match="got an unexpected keyword argument"): |
| 1781 | df.x.drop_duplicates(subset=["a"], split_out=split_out) |
| 1782 | |
| 1783 | with pytest.raises(NotImplementedError, match="with keep=False"): |
| 1784 | df.x.drop_duplicates(keep=False) |
| 1785 | |
| 1786 | |
| 1787 | def test_drop_duplicates_split_out(df, pdf): |
nothing calls this directly
no test coverage detected