@@ -74,3 +74,29 @@ def test_union(self):
7474 for case in cases :
7575 result = first .union (case )
7676 self .assertTrue (tm .equalContents (result , everything ))
77+
78+ def test_map (self ):
79+ expected = self .index + 1
80+ tm .assert_index_equal (self .index .map (lambda x : x + 1 ), expected )
81+
82+ series_map = pd .Series (expected , self .index )
83+ tm .assert_index_equal (self .index .map (series_map ), expected )
84+
85+ dict_map = {i : e for e , i in zip (expected , self .index )}
86+ tm .assert_index_equal (self .index .map (dict_map ), expected )
87+
88+ # empty mappable
89+ nan_index = Index ([pd .np .nan ] * len (self .index ))
90+ series_map = pd .Series ()
91+ tm .assert_index_equal (self .index .map (series_map ), nan_index )
92+ dict_map = {}
93+ tm .assert_index_equal (self .index .map (dict_map ), nan_index )
94+
95+ # map to NaT
96+ result = self .index .map (lambda x : pd .NaT if x == self .index [0 ] else x )
97+ expected = Index ([pd .NaT ] + self .index [1 :].tolist ())
98+ tm .assert_index_equal (result , expected )
99+ series_map = pd .Series (expected , self .index )
100+ tm .assert_index_equal (self .index .map (series_map ), expected )
101+ dict_map = {i : e for e , i in zip (expected , self .index )}
102+ tm .assert_index_equal (self .index .map (dict_map ), expected )
0 commit comments