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