| 1721 | |
| 1722 | @pytest.mark.parametrize("join", ["inner", "outer", "left", "right"]) |
| 1723 | def test_align(join): |
| 1724 | df1a = pd.DataFrame( |
| 1725 | {"A": np.random.randn(10), "B": np.random.randn(10)}, |
| 1726 | index=[1, 12, 5, 6, 3, 9, 10, 4, 13, 11], |
| 1727 | ) |
| 1728 | |
| 1729 | df1b = pd.DataFrame( |
| 1730 | {"A": np.random.randn(10), "B": np.random.randn(10)}, |
| 1731 | index=[0, 3, 2, 10, 5, 6, 7, 8, 12, 13], |
| 1732 | ) |
| 1733 | ddf1a = dd.from_pandas(df1a, 3) |
| 1734 | ddf1b = dd.from_pandas(df1b, 3) |
| 1735 | |
| 1736 | # DataFrame |
| 1737 | res1, res2 = ddf1a.align(ddf1b, join=join) |
| 1738 | exp1, exp2 = df1a.align(df1b, join=join) |
| 1739 | assert assert_eq(res1, exp1) |
| 1740 | assert assert_eq(res2, exp2) |
| 1741 | |
| 1742 | # Series |
| 1743 | res1, res2 = ddf1a["A"].align(ddf1b["B"], join=join) |
| 1744 | exp1, exp2 = df1a["A"].align(df1b["B"], join=join) |
| 1745 | assert assert_eq(res1, exp1) |
| 1746 | assert assert_eq(res2, exp2) |
| 1747 | |
| 1748 | # DataFrame with fill_value |
| 1749 | res1, res2 = ddf1a.align(ddf1b, join=join, fill_value=1) |
| 1750 | exp1, exp2 = df1a.align(df1b, join=join, fill_value=1) |
| 1751 | assert assert_eq(res1, exp1) |
| 1752 | assert assert_eq(res2, exp2) |
| 1753 | |
| 1754 | # Series |
| 1755 | res1, res2 = ddf1a["A"].align(ddf1b["B"], join=join, fill_value=1) |
| 1756 | exp1, exp2 = df1a["A"].align(df1b["B"], join=join, fill_value=1) |
| 1757 | assert assert_eq(res1, exp1) |
| 1758 | assert assert_eq(res2, exp2) |
| 1759 | |
| 1760 | |
| 1761 | @pytest.mark.parametrize("join", ["inner", "outer", "left", "right"]) |