19
19
is_categorical_dtype ,
20
20
is_object_dtype ,
21
21
)
22
- from pandas import DataFrame , Index , MultiIndex , Series , Categorical
22
+ from pandas import (
23
+ DataFrame , Index ,
24
+ MultiIndex , Series , Categorical
25
+ )
23
26
import pandas .util .testing as tm
24
27
from pandas .api .types import CategoricalDtype as CDT
25
28
@@ -1845,7 +1848,7 @@ def test_merge_two_sparse_frames(self, fill_value, how):
1845
1848
tm .assert_almost_equal (sparse_merge .default_fill_value ,
1846
1849
fill_value )
1847
1850
1848
- exp = dense_merge .to_sparse (fill_value = fill_value ),
1851
+ exp = dense_merge .to_sparse (fill_value = fill_value )
1849
1852
tm .assert_sp_frame_equal (sparse_merge , exp ,
1850
1853
exact_indices = False ,
1851
1854
check_dtype = False )
@@ -1869,22 +1872,27 @@ def test_merge_dense_sparse_frames(self, fill_value, how):
1869
1872
dense_threes = pd .DataFrame ({'A' : list (range (0 , 300 , 3 )),
1870
1873
'B' : np .random .randint (0 , 100 , size = 100 )})
1871
1874
1872
- dense_merge = dense_evens .merge ( dense_threes , how = how , on = 'A' )
1875
+ sparse_evens = dense_evens .to_sparse ( fill_value = fill_value )
1873
1876
1874
- # If you merge two dense frames together it tends to default to
1875
- # float64 not the original dtype
1876
- dense_merge ['B_x' ] = dense_merge ['B_x' ].astype (np .int64 ,
1877
- errors = 'ignore' )
1878
- dense_merge ['B_y' ] = dense_merge ['B_y' ].astype (np .int64 ,
1879
- errors = 'ignore' )
1877
+ to_merge = [sparse_evens , dense_threes ]
1878
+ to_merge_dense = [dense_evens , dense_threes ]
1880
1879
1881
- sparse_evens = dense_evens .to_sparse (fill_value = fill_value )
1882
- # sparse_threes = dense_threes.to_sparse(fill_value=fill_value)
1880
+ for _ in range (2 ):
1881
+ merged = to_merge [0 ].merge (to_merge [1 ], how = how , on = 'A' )
1882
+ # sparse_merge = sparse_evens.merge(dense_threes, how=how, on='A')
1883
1883
1884
- sparse_merge = sparse_evens .merge (dense_threes , how = how , on = 'A' )
1884
+ dense_merge = to_merge_dense [0 ].merge (to_merge_dense [1 ],
1885
+ how = how , on = 'A' )
1885
1886
1886
- tm .assert_almost_equal (sparse_merge .default_fill_value , fill_value )
1887
+ # If you merge two dense frames together it tends to default to
1888
+ # float64 not the original dtype
1889
+ dense_merge ['B_x' ] = dense_merge ['B_x' ].astype (np .int64 ,
1890
+ errors = 'ignore' )
1891
+ dense_merge ['B_y' ] = dense_merge ['B_y' ].astype (np .int64 ,
1892
+ errors = 'ignore' )
1893
+ for column in dense_merge .columns :
1894
+ dense_col = merged [column ].to_dense ()
1895
+ tm .assert_series_equal (dense_col , dense_merge [column ])
1887
1896
1888
- tm .assert_sp_frame_equal (dense_merge .to_sparse (fill_value = fill_value ),
1889
- sparse_merge , exact_indices = False ,
1890
- check_dtype = False )
1897
+ to_merge = to_merge [::- 1 ]
1898
+ to_merge_dense = to_merge_dense [::- 1 ]
0 commit comments