@@ -74,3 +74,29 @@ def test_union(self):
74
74
for case in cases :
75
75
result = first .union (case )
76
76
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