@@ -858,6 +858,40 @@ def test_construction_series(self):
858
858
res = Series (l ,dtype = 'category' )
859
859
tm .assert_series_equal (res , exp )
860
860
861
+ # insert into frame with different index
862
+ # GH 8076
863
+ index = pd .date_range ('20000101' , periods = 3 )
864
+ expected = Series (Categorical (values = [np .nan ,np .nan ,np .nan ],levels = ['a' , 'b' , 'c' ]))
865
+ expected .index = index
866
+
867
+ expected = DataFrame ({'x' : expected })
868
+ df = DataFrame ({'x' : Series (['a' , 'b' , 'c' ],dtype = 'category' )}, index = index )
869
+ tm .assert_frame_equal (df , expected )
870
+
871
+ def test_reindex (self ):
872
+
873
+ index = pd .date_range ('20000101' , periods = 3 )
874
+
875
+ # reindexing to an invalid Categorical
876
+ s = Series (['a' , 'b' , 'c' ],dtype = 'category' )
877
+ result = s .reindex (index )
878
+ expected = Series (Categorical (values = [np .nan ,np .nan ,np .nan ],levels = ['a' , 'b' , 'c' ]))
879
+ expected .index = index
880
+ tm .assert_series_equal (result , expected )
881
+
882
+ # partial reindexing
883
+ expected = Series (Categorical (values = ['b' ,'c' ],levels = ['a' , 'b' , 'c' ]))
884
+ expected .index = [1 ,2 ]
885
+ result = s .reindex ([1 ,2 ])
886
+ tm .assert_series_equal (result , expected )
887
+
888
+ expected = Series (Categorical (values = ['c' ,np .nan ],levels = ['a' , 'b' , 'c' ]))
889
+ expected .index = [2 ,3 ]
890
+ result = s .reindex ([2 ,3 ])
891
+ tm .assert_series_equal (result , expected )
892
+
893
+
894
+
861
895
def test_sideeffects_free (self ):
862
896
863
897
# Passing a categorical to a Series and then changing values in either the series or the
0 commit comments