@@ -1156,33 +1156,38 @@ def test_fillna_index_period(self):
11561156 pass
11571157
11581158
1159- class TestReplaceSeriesCoercion (CoercionBase ):
1159+ @pytest .mark .parametrize ('how' , ['dict' , 'series' ])
1160+ @pytest .mark .parametrize ('to_key' , [
1161+ 'object' , 'int64' , 'float64' , 'complex128' , 'bool' , 'datetime64[ns]' ,
1162+ 'datetime64[ns, UTC]' , 'datetime64[ns, US/Eastern]' , 'timedelta64[ns]' ])
1163+ @pytest .mark .parametrize ('from_key' , [
1164+ 'object' , 'int64' , 'float64' , 'complex128' , 'bool' , 'datetime64[ns]' ,
1165+ 'datetime64[ns, UTC]' , 'datetime64[ns, US/Eastern]' , 'timedelta64[ns]' ])
1166+ class TestReplaceSeriesCoercion (object ):
1167+
1168+ rep = {}
1169+ rep ['object' ] = ['a' , 'b' ]
1170+ rep ['int64' ] = [4 , 5 ]
1171+ rep ['float64' ] = [1.1 , 2.2 ]
1172+ rep ['complex128' ] = [1 + 1j , 2 + 2j ]
1173+ rep ['bool' ] = [True , False ]
1174+ rep ['datetime64[ns]' ] = [pd .Timestamp ('2011-01-01' ),
1175+ pd .Timestamp ('2011-01-03' )]
1176+
1177+ for tz in ['UTC' , 'US/Eastern' ]:
1178+ # to test tz => different tz replacement
1179+ key = 'datetime64[ns, {0}]' .format (tz )
1180+ rep [key ] = [pd .Timestamp ('2011-01-01' , tz = tz ),
1181+ pd .Timestamp ('2011-01-03' , tz = tz )]
1182+
1183+ rep ['timedelta64[ns]' ] = [pd .Timedelta ('1 day' ),
1184+ pd .Timedelta ('2 day' )]
1185+
1186+ def test_replace_series (self , how , to_key , from_key ):
1187+ if from_key == 'bool' and how == 'series' and compat .PY3 :
1188+ # doesn't work in PY3, though ...dict_from_bool works fine
1189+ pytest .skip ("doesn't work as in PY3" )
11601190
1161- # not indexing, but place here for consisntency
1162-
1163- klasses = ['series' ]
1164- method = 'replace'
1165-
1166- def setup_method (self , method ):
1167- self .rep = {}
1168- self .rep ['object' ] = ['a' , 'b' ]
1169- self .rep ['int64' ] = [4 , 5 ]
1170- self .rep ['float64' ] = [1.1 , 2.2 ]
1171- self .rep ['complex128' ] = [1 + 1j , 2 + 2j ]
1172- self .rep ['bool' ] = [True , False ]
1173- self .rep ['datetime64[ns]' ] = [pd .Timestamp ('2011-01-01' ),
1174- pd .Timestamp ('2011-01-03' )]
1175-
1176- for tz in ['UTC' , 'US/Eastern' ]:
1177- # to test tz => different tz replacement
1178- key = 'datetime64[ns, {0}]' .format (tz )
1179- self .rep [key ] = [pd .Timestamp ('2011-01-01' , tz = tz ),
1180- pd .Timestamp ('2011-01-03' , tz = tz )]
1181-
1182- self .rep ['timedelta64[ns]' ] = [pd .Timedelta ('1 day' ),
1183- pd .Timedelta ('2 day' )]
1184-
1185- def _assert_replace_conversion (self , from_key , to_key , how ):
11861191 index = pd .Index ([3 , 4 ], name = 'xxx' )
11871192 obj = pd .Series (self .rep [from_key ], index = index , name = 'yyy' )
11881193 assert obj .dtype == from_key
@@ -1204,7 +1209,6 @@ def _assert_replace_conversion(self, from_key, to_key, how):
12041209 (from_key == 'complex128' and
12051210 to_key in ('int64' , 'float64' ))):
12061211
1207- # buggy on 32-bit / window
12081212 if compat .is_platform_32bit () or compat .is_platform_windows ():
12091213 pytest .skip ("32-bit platform buggy: {0} -> {1}" .format
12101214 (from_key , to_key ))
@@ -1218,78 +1222,3 @@ def _assert_replace_conversion(self, from_key, to_key, how):
12181222 assert exp .dtype == to_key
12191223
12201224 tm .assert_series_equal (result , exp )
1221-
1222- def test_replace_series_object (self ):
1223- from_key = 'object'
1224- for to_key in self .rep :
1225- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1226-
1227- for to_key in self .rep :
1228- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1229-
1230- def test_replace_series_int64 (self ):
1231- from_key = 'int64'
1232- for to_key in self .rep :
1233- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1234-
1235- for to_key in self .rep :
1236- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1237-
1238- def test_replace_series_float64 (self ):
1239- from_key = 'float64'
1240- for to_key in self .rep :
1241- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1242-
1243- for to_key in self .rep :
1244- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1245-
1246- def test_replace_series_complex128 (self ):
1247- from_key = 'complex128'
1248- for to_key in self .rep :
1249- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1250-
1251- for to_key in self .rep :
1252- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1253-
1254- def test_replace_series_bool (self ):
1255- from_key = 'bool'
1256- for to_key in self .rep :
1257- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1258-
1259- for to_key in self .rep :
1260-
1261- if compat .PY3 :
1262- # doesn't work in PY3, though ...dict_from_bool works fine
1263- pytest .skip ("doesn't work as in PY3" )
1264-
1265- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1266-
1267- def test_replace_series_datetime64 (self ):
1268- from_key = 'datetime64[ns]'
1269- for to_key in self .rep :
1270- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1271-
1272- from_key = 'datetime64[ns]'
1273- for to_key in self .rep :
1274- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1275-
1276- def test_replace_series_datetime64tz (self ):
1277- from_key = 'datetime64[ns, US/Eastern]'
1278- for to_key in self .rep :
1279- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1280-
1281- from_key = 'datetime64[ns, US/Eastern]'
1282- for to_key in self .rep :
1283- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1284-
1285- def test_replace_series_timedelta64 (self ):
1286- from_key = 'timedelta64[ns]'
1287- for to_key in self .rep :
1288- self ._assert_replace_conversion (from_key , to_key , how = 'dict' )
1289-
1290- from_key = 'timedelta64[ns]'
1291- for to_key in self .rep :
1292- self ._assert_replace_conversion (from_key , to_key , how = 'series' )
1293-
1294- def test_replace_series_period (self ):
1295- pass
0 commit comments