@@ -709,10 +709,6 @@ def compare(result, expected):
709
709
compare (df2 , df1 )
710
710
711
711
# edge cases
712
- s = Series (['a' ,'b' ,'c' ,'d' ], [1 ,2 ,3 ,4 ])
713
- self .assertRaises (TypeError , lambda : s .ix [1.5 :5.5 ])
714
- self .assertRaises (TypeError , lambda : s .loc [1.5 :5.5 ])
715
-
716
712
s = Series ([1 ,2 ,3 ,4 ], index = list ('abde' ))
717
713
718
714
result1 = s ['a' :'c' ]
@@ -4047,7 +4043,7 @@ def check_slicing_positional(index):
4047
4043
4048
4044
# int
4049
4045
index = tm .makeIntIndex ()
4050
- s = Series (np .arange (len (index ))+ 10 ,index )
4046
+ s = Series (np .arange (len (index ))+ 10 ,index + 5 )
4051
4047
4052
4048
# this is positional
4053
4049
result1 = s [2 :5 ]
@@ -4059,55 +4055,80 @@ def check_slicing_positional(index):
4059
4055
result3 = s .loc [2 :5 ]
4060
4056
assert_series_equal (result2 , result3 )
4061
4057
4062
- # make all float slicing fail
4063
- self .assertRaises (TypeError , lambda : s .loc [2.0 :5 ])
4064
- self .assertRaises (TypeError , lambda : s .loc [2.0 :5.0 ])
4065
- self .assertRaises (TypeError , lambda : s .loc [2 :5.0 ])
4066
- self .assertRaises (TypeError , lambda : s [2.0 :5 ])
4067
- self .assertRaises (TypeError , lambda : s [2.0 :5.0 ])
4068
- self .assertRaises (TypeError , lambda : s [2 :5.0 ])
4058
+ # float slicers on an int index
4059
+ expected = Series ([11 ,12 ,13 ],index = [6 ,7 ,8 ])
4060
+ result = s .loc [6.0 :8.5 ]
4061
+ assert_series_equal (result , expected )
4062
+
4063
+ result = s .loc [5.5 :8.5 ]
4064
+ assert_series_equal (result , expected )
4065
+
4066
+ result = s .loc [5.5 :8.0 ]
4067
+ assert_series_equal (result , expected )
4069
4068
4070
- self .assertRaises (TypeError , lambda : s .ix [2.0 :5 ])
4071
- self .assertRaises (TypeError , lambda : s .ix [2.0 :5.0 ])
4072
- self .assertRaises (TypeError , lambda : s .ix [2 :5.0 ])
4069
+ # make all float slicing fail for ix/[] with an int index
4070
+ self .assertRaises (TypeError , lambda : s [6.0 :8 ])
4071
+ self .assertRaises (TypeError , lambda : s [6.0 :8.0 ])
4072
+ self .assertRaises (TypeError , lambda : s [6 :8.0 ])
4073
+ self .assertRaises (TypeError , lambda : s .ix [6.0 :8 ])
4074
+ self .assertRaises (TypeError , lambda : s .ix [6.0 :8.0 ])
4075
+ self .assertRaises (TypeError , lambda : s .ix [6 :8.0 ])
4073
4076
4074
4077
# these work for now
4075
- #self.assertRaises(TypeError, lambda : s.iloc[2 .0:5 ])
4076
- #self.assertRaises(TypeError, lambda : s.iloc[2 .0:5 .0])
4077
- #self.assertRaises(TypeError, lambda : s.iloc[2:5 .0])
4078
+ #self.assertRaises(TypeError, lambda : s.iloc[6 .0:8 ])
4079
+ #self.assertRaises(TypeError, lambda : s.iloc[6 .0:8 .0])
4080
+ #self.assertRaises(TypeError, lambda : s.iloc[6:8 .0])
4078
4081
4079
4082
# float
4080
4083
index = tm .makeFloatIndex ()
4081
- s = Series (np .arange (len (index ))+ 10 ,index = index )
4084
+ s = Series (np .arange (len (index ))+ 10 ,index = index + 5 )
4082
4085
4083
4086
# these are all value based
4084
- result1 = s [2 : 5 ]
4085
- result2 = s .ix [2 : 5 ]
4086
- result3 = s .loc [2 : 5 ]
4087
+ result1 = s [6 : 8 ]
4088
+ result2 = s .ix [6 : 8 ]
4089
+ result3 = s .loc [6 : 8 ]
4087
4090
assert_series_equal (result1 , result2 )
4088
4091
assert_series_equal (result1 , result3 )
4089
4092
4090
4093
# these are all valid
4091
- result1a = s [2.0 :5 ]
4092
- result2a = s [2.0 :5.0 ]
4093
- result3a = s [2 :5.0 ]
4094
+ result1a = s [6.0 :8 ]
4095
+ result2a = s [6.0 :8.0 ]
4096
+ result3a = s [6 :8.0 ]
4097
+ result1b = s [6.5 :8 ]
4098
+ result2b = s [6.5 :8.5 ]
4099
+ result3b = s [6 :8.5 ]
4094
4100
assert_series_equal (result1a , result2a )
4095
4101
assert_series_equal (result1a , result3a )
4096
-
4097
- result1b = s .ix [2.0 :5 ]
4098
- result2b = s .ix [2.0 :5.0 ]
4099
- result3b = s .ix [2 :5.0 ]
4100
- assert_series_equal (result1b , result2b )
4101
- assert_series_equal (result1b , result3b )
4102
-
4103
- result1c = s .loc [2.0 :5 ]
4104
- result2c = s .loc [2.0 :5.0 ]
4105
- result3c = s .loc [2 :5.0 ]
4106
- assert_series_equal (result1c , result2c )
4107
- assert_series_equal (result1c , result3c )
4108
-
4109
4102
assert_series_equal (result1a , result1b )
4103
+ assert_series_equal (result1a , result2b )
4104
+ assert_series_equal (result1a , result3b )
4105
+
4106
+ result1c = s .ix [6.0 :8 ]
4107
+ result2c = s .ix [6.0 :8.0 ]
4108
+ result3c = s .ix [6 :8.0 ]
4109
+ result1d = s .ix [6.5 :8 ]
4110
+ result2d = s .ix [6.5 :8.5 ]
4111
+ result3d = s .ix [6 :8.5 ]
4110
4112
assert_series_equal (result1a , result1c )
4113
+ assert_series_equal (result1a , result2c )
4114
+ assert_series_equal (result1a , result3c )
4115
+ assert_series_equal (result1a , result1d )
4116
+ assert_series_equal (result1a , result2d )
4117
+ assert_series_equal (result1a , result3d )
4118
+
4119
+ result1e = s .loc [6.0 :8 ]
4120
+ result2e = s .loc [6.0 :8.0 ]
4121
+ result3e = s .loc [6 :8.0 ]
4122
+ result1f = s .loc [6.5 :8 ]
4123
+ result2f = s .loc [6.5 :8.5 ]
4124
+ result3f = s .loc [6 :8.5 ]
4125
+ assert_series_equal (result1a , result1e )
4126
+ assert_series_equal (result1a , result2e )
4127
+ assert_series_equal (result1a , result3e )
4128
+ assert_series_equal (result1a , result1f )
4129
+ assert_series_equal (result1a , result2f )
4130
+ assert_series_equal (result1a , result3f )
4131
+
4111
4132
4112
4133
# these work for now
4113
4134
#self.assertRaises(TypeError, lambda : s.iloc[2.0:5])
0 commit comments