1313import pandas as pd
1414from pandas import DataFrame , MultiIndex , Series , compat
1515import pandas .core .common as com
16- from pandas .tests .frame .common import TestData , _check_mixed_float
16+ from pandas .tests .frame .common import _check_mixed_float
1717import pandas .util .testing as tm
1818from pandas .util .testing import (
1919 assert_frame_equal , assert_numpy_array_equal , assert_series_equal )
@@ -207,7 +207,7 @@ def test_logical_with_nas(self):
207207 assert_series_equal (result , expected )
208208
209209
210- class TestDataFrameOperators (TestData ):
210+ class TestDataFrameOperators (object ):
211211
212212 @pytest .mark .parametrize ('op' , [operator .add , operator .sub ,
213213 operator .mul , operator .truediv ])
@@ -238,9 +238,9 @@ def test_operators_none_as_na(self, op):
238238 ('__ne__' , True )])
239239 # TODO: not sure what's correct here.
240240 @pytest .mark .filterwarnings ("ignore:elementwise:FutureWarning" )
241- def test_logical_typeerror_with_non_valid (self , op , res ):
241+ def test_logical_typeerror_with_non_valid (self , op , res , float_frame ):
242242 # we are comparing floats vs a string
243- result = getattr (self . frame , op )('foo' )
243+ result = getattr (float_frame , op )('foo' )
244244 assert bool (result .all ().all ()) is res
245245
246246 def test_binary_ops_align (self ):
@@ -318,16 +318,17 @@ def test_dti_tz_convert_to_utc(self):
318318 exp = DataFrame ({'A' : [np .nan , 3 , np .nan ]}, index = base )
319319 assert_frame_equal (df1 + df2 , exp )
320320
321- def test_combineFrame (self ):
322- frame_copy = self .frame .reindex (self .frame .index [::2 ])
321+ def test_combineFrame (self , float_frame , mixed_float_frame ,
322+ mixed_int_frame ):
323+ frame_copy = float_frame .reindex (float_frame .index [::2 ])
323324
324325 del frame_copy ['D' ]
325326 frame_copy ['C' ][:5 ] = np .nan
326327
327- added = self . frame + frame_copy
328+ added = float_frame + frame_copy
328329
329330 indexer = added ['A' ].dropna ().index
330- exp = (self . frame ['A' ] * 2 ).copy ()
331+ exp = (float_frame ['A' ] * 2 ).copy ()
331332
332333 tm .assert_series_equal (added ['A' ].dropna (), exp .loc [indexer ])
333334
@@ -340,95 +341,94 @@ def test_combineFrame(self):
340341
341342 assert np .isnan (added ['D' ]).all ()
342343
343- self_added = self . frame + self . frame
344- tm .assert_index_equal (self_added .index , self . frame .index )
344+ self_added = float_frame + float_frame
345+ tm .assert_index_equal (self_added .index , float_frame .index )
345346
346- added_rev = frame_copy + self . frame
347+ added_rev = frame_copy + float_frame
347348 assert np .isnan (added ['D' ]).all ()
348349 assert np .isnan (added_rev ['D' ]).all ()
349350
350351 # corner cases
351352
352353 # empty
353- plus_empty = self . frame + self . empty
354+ plus_empty = float_frame + DataFrame ()
354355 assert np .isnan (plus_empty .values ).all ()
355356
356- empty_plus = self . empty + self . frame
357+ empty_plus = DataFrame () + float_frame
357358 assert np .isnan (empty_plus .values ).all ()
358359
359- empty_empty = self . empty + self . empty
360+ empty_empty = DataFrame () + DataFrame ()
360361 assert empty_empty .empty
361362
362363 # out of order
363- reverse = self . frame . reindex (columns = self . frame .columns [::- 1 ])
364+ reverse = float_frame . reindex (columns = float_frame .columns [::- 1 ])
364365
365- assert_frame_equal (reverse + self . frame , self . frame * 2 )
366+ assert_frame_equal (reverse + float_frame , float_frame * 2 )
366367
367368 # mix vs float64, upcast
368- added = self . frame + self . mixed_float
369+ added = float_frame + mixed_float_frame
369370 _check_mixed_float (added , dtype = 'float64' )
370- added = self . mixed_float + self . frame
371+ added = mixed_float_frame + float_frame
371372 _check_mixed_float (added , dtype = 'float64' )
372373
373374 # mix vs mix
374- added = self .mixed_float + self .mixed_float2
375- _check_mixed_float (added , dtype = dict (C = None ))
376- added = self .mixed_float2 + self .mixed_float
375+ added = mixed_float_frame + mixed_float_frame
377376 _check_mixed_float (added , dtype = dict (C = None ))
378377
379378 # with int
380- added = self . frame + self . mixed_int
379+ added = float_frame + mixed_int_frame
381380 _check_mixed_float (added , dtype = 'float64' )
382381
383- def test_combineSeries (self ):
382+ def test_combineSeries (self , float_frame , mixed_float_frame ,
383+ mixed_int_frame , datetime_frame ):
384384
385385 # Series
386- series = self . frame . xs (self . frame .index [0 ])
386+ series = float_frame . xs (float_frame .index [0 ])
387387
388- added = self . frame + series
388+ added = float_frame + series
389389
390390 for key , s in compat .iteritems (added ):
391- assert_series_equal (s , self . frame [key ] + series [key ])
391+ assert_series_equal (s , float_frame [key ] + series [key ])
392392
393393 larger_series = series .to_dict ()
394394 larger_series ['E' ] = 1
395395 larger_series = Series (larger_series )
396- larger_added = self . frame + larger_series
396+ larger_added = float_frame + larger_series
397397
398- for key , s in compat .iteritems (self . frame ):
398+ for key , s in compat .iteritems (float_frame ):
399399 assert_series_equal (larger_added [key ], s + series [key ])
400400 assert 'E' in larger_added
401401 assert np .isnan (larger_added ['E' ]).all ()
402402
403403 # no upcast needed
404- added = self . mixed_float + series
404+ added = mixed_float_frame + series
405405 _check_mixed_float (added )
406406
407407 # vs mix (upcast) as needed
408- added = self . mixed_float + series .astype ('float32' )
408+ added = mixed_float_frame + series .astype ('float32' )
409409 _check_mixed_float (added , dtype = dict (C = None ))
410- added = self . mixed_float + series .astype ('float16' )
410+ added = mixed_float_frame + series .astype ('float16' )
411411 _check_mixed_float (added , dtype = dict (C = None ))
412412
413413 # these raise with numexpr.....as we are adding an int64 to an
414414 # uint64....weird vs int
415415
416- # added = self.mixed_int + (100*series).astype('int64')
416+ # added = mixed_int_frame + (100*series).astype('int64')
417417 # _check_mixed_int(added, dtype = dict(A = 'int64', B = 'float64', C =
418418 # 'int64', D = 'int64'))
419- # added = self.mixed_int + (100*series).astype('int32')
419+ # added = mixed_int_frame + (100*series).astype('int32')
420420 # _check_mixed_int(added, dtype = dict(A = 'int32', B = 'float64', C =
421421 # 'int32', D = 'int64'))
422422
423423 # TimeSeries
424- ts = self . tsframe ['A' ]
424+ ts = datetime_frame ['A' ]
425425
426426 # 10890
427427 # we no longer allow auto timeseries broadcasting
428428 # and require explicit broadcasting
429- added = self . tsframe .add (ts , axis = 'index' )
429+ added = datetime_frame .add (ts , axis = 'index' )
430430
431- for key , col in compat .iteritems (self . tsframe ):
431+ for key , col in compat .iteritems (datetime_frame ):
432432 result = col + ts
433433 assert_series_equal (added [key ], result , check_names = False )
434434 assert added [key ].name == key
@@ -437,52 +437,52 @@ def test_combineSeries(self):
437437 else :
438438 assert result .name is None
439439
440- smaller_frame = self . tsframe [:- 5 ]
440+ smaller_frame = datetime_frame [:- 5 ]
441441 smaller_added = smaller_frame .add (ts , axis = 'index' )
442442
443- tm .assert_index_equal (smaller_added .index , self . tsframe .index )
443+ tm .assert_index_equal (smaller_added .index , datetime_frame .index )
444444
445445 smaller_ts = ts [:- 5 ]
446- smaller_added2 = self . tsframe .add (smaller_ts , axis = 'index' )
446+ smaller_added2 = datetime_frame .add (smaller_ts , axis = 'index' )
447447 assert_frame_equal (smaller_added , smaller_added2 )
448448
449449 # length 0, result is all-nan
450- result = self . tsframe .add (ts [:0 ], axis = 'index' )
451- expected = DataFrame (np .nan , index = self . tsframe .index ,
452- columns = self . tsframe .columns )
450+ result = datetime_frame .add (ts [:0 ], axis = 'index' )
451+ expected = DataFrame (np .nan , index = datetime_frame .index ,
452+ columns = datetime_frame .columns )
453453 assert_frame_equal (result , expected )
454454
455455 # Frame is all-nan
456- result = self . tsframe [:0 ].add (ts , axis = 'index' )
457- expected = DataFrame (np .nan , index = self . tsframe .index ,
458- columns = self . tsframe .columns )
456+ result = datetime_frame [:0 ].add (ts , axis = 'index' )
457+ expected = DataFrame (np .nan , index = datetime_frame .index ,
458+ columns = datetime_frame .columns )
459459 assert_frame_equal (result , expected )
460460
461461 # empty but with non-empty index
462- frame = self . tsframe [:1 ].reindex (columns = [])
462+ frame = datetime_frame [:1 ].reindex (columns = [])
463463 result = frame .mul (ts , axis = 'index' )
464464 assert len (result ) == len (ts )
465465
466- def test_combineFunc (self ):
467- result = self . frame * 2
468- tm .assert_numpy_array_equal (result .values , self . frame .values * 2 )
466+ def test_combineFunc (self , float_frame , mixed_float_frame ):
467+ result = float_frame * 2
468+ tm .assert_numpy_array_equal (result .values , float_frame .values * 2 )
469469
470470 # vs mix
471- result = self . mixed_float * 2
471+ result = mixed_float_frame * 2
472472 for c , s in compat .iteritems (result ):
473473 tm .assert_numpy_array_equal (
474- s .values , self . mixed_float [c ].values * 2 )
474+ s .values , mixed_float_frame [c ].values * 2 )
475475 _check_mixed_float (result , dtype = dict (C = None ))
476476
477- result = self . empty * 2
478- assert result .index is self . empty .index
477+ result = DataFrame () * 2
478+ assert result .index . equals ( DataFrame () .index )
479479 assert len (result .columns ) == 0
480480
481- def test_comparisons (self ):
481+ def test_comparisons (self , simple_frame , float_frame ):
482482 df1 = tm .makeTimeDataFrame ()
483483 df2 = tm .makeTimeDataFrame ()
484484
485- row = self . simple .xs ('a' )
485+ row = simple_frame .xs ('a' )
486486 ndim_5 = np .ones (df1 .shape + (1 , 1 , 1 ))
487487
488488 def test_comp (func ):
@@ -493,17 +493,17 @@ def test_comp(func):
493493 with pytest .raises (ValueError , match = 'dim must be <= 2' ):
494494 func (df1 , ndim_5 )
495495
496- result2 = func (self . simple , row )
496+ result2 = func (simple_frame , row )
497497 tm .assert_numpy_array_equal (result2 .values ,
498- func (self . simple .values , row .values ))
498+ func (simple_frame .values , row .values ))
499499
500- result3 = func (self . frame , 0 )
500+ result3 = func (float_frame , 0 )
501501 tm .assert_numpy_array_equal (result3 .values ,
502- func (self . frame .values , 0 ))
502+ func (float_frame .values , 0 ))
503503
504504 msg = 'Can only compare identically-labeled DataFrame'
505505 with pytest .raises (ValueError , match = msg ):
506- func (self . simple , self . simple [:2 ])
506+ func (simple_frame , simple_frame [:2 ])
507507
508508 test_comp (operator .eq )
509509 test_comp (operator .ne )
@@ -599,9 +599,9 @@ def test_boolean_comparison(self):
599599 with pytest .raises (ValueError , match = msg1d ):
600600 result = df == tup
601601
602- def test_combine_generic (self ):
603- df1 = self . frame
604- df2 = self . frame . loc [self . frame .index [:- 5 ], ['A' , 'B' , 'C' ]]
602+ def test_combine_generic (self , float_frame ):
603+ df1 = float_frame
604+ df2 = float_frame . loc [float_frame .index [:- 5 ], ['A' , 'B' , 'C' ]]
605605
606606 combined = df1 .combine (df2 , np .add )
607607 combined2 = df2 .combine (df1 , np .add )
@@ -611,8 +611,8 @@ def test_combine_generic(self):
611611 chunk = combined .loc [combined .index [:- 5 ], ['A' , 'B' , 'C' ]]
612612 chunk2 = combined2 .loc [combined2 .index [:- 5 ], ['A' , 'B' , 'C' ]]
613613
614- exp = self . frame . loc [self . frame .index [:- 5 ],
615- ['A' , 'B' , 'C' ]].reindex_like (chunk ) * 2
614+ exp = float_frame . loc [float_frame .index [:- 5 ],
615+ ['A' , 'B' , 'C' ]].reindex_like (chunk ) * 2
616616 assert_frame_equal (chunk , exp )
617617 assert_frame_equal (chunk2 , exp )
618618
0 commit comments