1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import pytest
- from pandas import (
- DatetimeIndex,
- Index,
- MultiIndex,
- Period,
- date_range,
- )
- import pandas._testing as tm
- class TestMap:
- def test_map(self):
- rng = date_range("1/1/2000", periods=10)
- f = lambda x: x.strftime("%Y%m%d")
- result = rng.map(f)
- exp = Index([f(x) for x in rng], dtype="<U8")
- tm.assert_index_equal(result, exp)
- def test_map_fallthrough(self, capsys):
- # GH#22067, check we don't get warnings about silently ignored errors
- dti = date_range("2017-01-01", "2018-01-01", freq="B")
- dti.map(lambda x: Period(year=x.year, month=x.month, freq="M"))
- captured = capsys.readouterr()
- assert captured.err == ""
- def test_map_bug_1677(self):
- index = DatetimeIndex(["2012-04-25 09:30:00.393000"])
- f = index.asof
- result = index.map(f)
- expected = Index([f(index[0])])
- tm.assert_index_equal(result, expected)
- @pytest.mark.parametrize("name", [None, "name"])
- def test_index_map(self, name):
- # see GH#20990
- count = 6
- index = date_range("2018-01-01", periods=count, freq="M", name=name).map(
- lambda x: (x.year, x.month)
- )
- exp_index = MultiIndex.from_product(((2018,), range(1, 7)), names=[name, name])
- tm.assert_index_equal(index, exp_index)
|