|
1 | 1 | import numpy as np
|
2 |
| -import pytest |
3 |
| - |
4 |
| -from pandas._libs.tslibs import IncompatibleFrequency |
5 | 2 |
|
6 | 3 | import pandas as pd
|
7 | 4 | from pandas import PeriodIndex, date_range, period_range
|
@@ -145,12 +142,12 @@ def test_union_misc(self, sort):
|
145 | 142 | tm.assert_index_equal(result, index)
|
146 | 143 | assert tm.equalContents(result, index)
|
147 | 144 |
|
148 |
| - # raise if different frequencies |
| 145 | + # cast if different frequencies |
149 | 146 | index = period_range("1/1/2000", "1/20/2000", freq="D")
|
150 | 147 | index2 = period_range("1/1/2000", "1/20/2000", freq="W-WED")
|
151 |
| - msg = r"Input has different freq=W-WED from PeriodIndex\(freq=D\)" |
152 |
| - with pytest.raises(IncompatibleFrequency, match=msg): |
153 |
| - index.union(index2, sort=sort) |
| 148 | + result = index.union(index2, sort=sort) |
| 149 | + expected = index.astype(object).union(index2.astype(object), sort=sort) |
| 150 | + tm.assert_index_equal(result, expected) |
154 | 151 |
|
155 | 152 | # TODO: belongs elsewhere
|
156 | 153 | def test_union_dataframe_index(self):
|
@@ -178,17 +175,17 @@ def test_intersection(self, sort):
|
178 | 175 | tm.assert_index_equal(result, index[10:-5])
|
179 | 176 | assert tm.equalContents(result, index[10:-5])
|
180 | 177 |
|
181 |
| - # raise if different frequencies |
| 178 | + # cast if different frequencies |
182 | 179 | index = period_range("1/1/2000", "1/20/2000", freq="D")
|
183 | 180 | index2 = period_range("1/1/2000", "1/20/2000", freq="W-WED")
|
184 |
| - msg = r"Input has different freq=W-WED from PeriodIndex\(freq=D\)" |
185 |
| - with pytest.raises(IncompatibleFrequency, match=msg): |
186 |
| - index.intersection(index2, sort=sort) |
| 181 | + |
| 182 | + result = index.intersection(index2, sort=sort) |
| 183 | + expected = pd.Index([], dtype=object) |
| 184 | + tm.assert_index_equal(result, expected) |
187 | 185 |
|
188 | 186 | index3 = period_range("1/1/2000", "1/20/2000", freq="2D")
|
189 |
| - msg = r"Input has different freq=2D from PeriodIndex\(freq=D\)" |
190 |
| - with pytest.raises(IncompatibleFrequency, match=msg): |
191 |
| - index.intersection(index3, sort=sort) |
| 187 | + result = index.intersection(index3, sort=sort) |
| 188 | + tm.assert_index_equal(result, expected) |
192 | 189 |
|
193 | 190 | def test_intersection_cases(self, sort):
|
194 | 191 | base = period_range("6/1/2000", "6/30/2000", freq="D", name="idx")
|
|
0 commit comments