@@ -844,15 +844,36 @@ def test_getitem_multiindex(self):
844844 # GH 5725
845845 # the 'A' happens to be a valid Timestamp so the doesn't raise the appropriate
846846 # error, only in PY3 of course!
847- index = MultiIndex (levels = [['A ' , 'B' , 'C' ], [0 , 26 , 27 , 37 , 57 , 67 , 75 , 82 ]],
847+ index = MultiIndex (levels = [['D ' , 'B' , 'C' ], [0 , 26 , 27 , 37 , 57 , 67 , 75 , 82 ]],
848848 labels = [[0 , 0 , 0 , 1 , 2 , 2 , 2 , 2 , 2 , 2 ], [1 , 3 , 4 , 6 , 0 , 2 , 2 , 3 , 5 , 7 ]],
849849 names = ['tag' , 'day' ])
850850 arr = np .random .randn (len (index ),1 )
851851 df = DataFrame (arr ,index = index ,columns = ['val' ])
852+ result = df .val ['D' ]
853+ expected = Series (arr .ravel ()[0 :3 ],name = 'val' ,index = Index ([26 ,37 ,57 ],name = 'day' ))
854+ assert_series_equal (result ,expected )
855+
856+ def f ():
857+ df .val ['A' ]
858+ self .assertRaises (KeyError , f )
859+
860+ def f ():
861+ df .val ['X' ]
862+ self .assertRaises (KeyError , f )
863+
864+ # A is treated as a special Timestamp
865+ index = MultiIndex (levels = [['A' , 'B' , 'C' ], [0 , 26 , 27 , 37 , 57 , 67 , 75 , 82 ]],
866+ labels = [[0 , 0 , 0 , 1 , 2 , 2 , 2 , 2 , 2 , 2 ], [1 , 3 , 4 , 6 , 0 , 2 , 2 , 3 , 5 , 7 ]],
867+ names = ['tag' , 'day' ])
868+ df = DataFrame (arr ,index = index ,columns = ['val' ])
852869 result = df .val ['A' ]
853870 expected = Series (arr .ravel ()[0 :3 ],name = 'val' ,index = Index ([26 ,37 ,57 ],name = 'day' ))
854871 assert_series_equal (result ,expected )
855872
873+ def f ():
874+ df .val ['X' ]
875+ self .assertRaises (KeyError , f )
876+
856877 def test_setitem_dtype_upcast (self ):
857878
858879 # GH3216
0 commit comments