@@ -240,7 +240,8 @@ def make_empty(self: T, axes=None) -> T:
240240 assert isinstance (self , SingleBlockManager ) # for mypy
241241 blk = self .blocks [0 ]
242242 arr = blk .values [:0 ]
243- nb = blk .make_block_same_class (arr , placement = slice (0 , 0 ))
243+ bp = BlockPlacement (slice (0 , 0 ))
244+ nb = blk .make_block_same_class (arr , placement = bp )
244245 blocks = [nb ]
245246 else :
246247 blocks = []
@@ -786,7 +787,7 @@ def _combine(
786787 new_blocks : List [Block ] = []
787788 for b in blocks :
788789 b = b .copy (deep = copy )
789- b .mgr_locs = inv_indexer [b .mgr_locs .indexer ]
790+ b .mgr_locs = BlockPlacement ( inv_indexer [b .mgr_locs .indexer ])
790791 new_blocks .append (b )
791792
792793 axes = list (self .axes )
@@ -1053,8 +1054,9 @@ def iget(self, i: int) -> SingleBlockManager:
10531054 values = block .iget (self .blklocs [i ])
10541055
10551056 # shortcut for select a single-dim from a 2-dim BM
1057+ bp = BlockPlacement (slice (0 , len (values )))
10561058 values = maybe_coerce_values (values )
1057- nb = type (block )(values , placement = slice ( 0 , len ( values )) , ndim = 1 )
1059+ nb = type (block )(values , placement = bp , ndim = 1 )
10581060 return SingleBlockManager (nb , self .axes [1 ])
10591061
10601062 def iget_values (self , i : int ) -> ArrayLike :
@@ -1266,7 +1268,7 @@ def insert(
12661268 else :
12671269 new_mgr_locs = blk .mgr_locs .as_array .copy ()
12681270 new_mgr_locs [new_mgr_locs >= loc ] += 1
1269- blk .mgr_locs = new_mgr_locs
1271+ blk .mgr_locs = BlockPlacement ( new_mgr_locs )
12701272
12711273 # Accessing public blklocs ensures the public versions are initialized
12721274 if loc == self .blklocs .shape [0 ]:
@@ -1415,11 +1417,12 @@ def _slice_take_blocks_ax0(
14151417 # all(np.shares_memory(nb.values, blk.values) for nb in blocks)
14161418 return blocks
14171419 else :
1420+ bp = BlockPlacement (slice (0 , sllen ))
14181421 return [
14191422 blk .take_nd (
14201423 slobj ,
14211424 axis = 0 ,
1422- new_mgr_locs = slice ( 0 , sllen ) ,
1425+ new_mgr_locs = bp ,
14231426 fill_value = fill_value ,
14241427 )
14251428 ]
@@ -1456,7 +1459,7 @@ def _slice_take_blocks_ax0(
14561459 # item.
14571460 for mgr_loc in mgr_locs :
14581461 newblk = blk .copy (deep = False )
1459- newblk .mgr_locs = slice (mgr_loc , mgr_loc + 1 )
1462+ newblk .mgr_locs = BlockPlacement ( slice (mgr_loc , mgr_loc + 1 ) )
14601463 blocks .append (newblk )
14611464
14621465 else :
@@ -1655,12 +1658,15 @@ def getitem_mgr(self, indexer) -> SingleBlockManager:
16551658 # similar to get_slice, but not restricted to slice indexer
16561659 blk = self ._block
16571660 array = blk ._slice (indexer )
1658- if array .ndim > blk . values . ndim :
1661+ if array .ndim > 1 :
16591662 # This will be caught by Series._get_values
16601663 raise ValueError ("dimension-expanding indexing not allowed" )
16611664
1662- block = blk .make_block_same_class (array , placement = slice (0 , len (array )))
1663- return type (self )(block , self .index [indexer ])
1665+ bp = BlockPlacement (slice (0 , len (array )))
1666+ block = blk .make_block_same_class (array , placement = bp )
1667+
1668+ new_idx = self .index [indexer ]
1669+ return type (self )(block , new_idx )
16641670
16651671 def get_slice (self , slobj : slice , axis : int = 0 ) -> SingleBlockManager :
16661672 assert isinstance (slobj , slice ), type (slobj )
@@ -1669,7 +1675,8 @@ def get_slice(self, slobj: slice, axis: int = 0) -> SingleBlockManager:
16691675
16701676 blk = self ._block
16711677 array = blk ._slice (slobj )
1672- block = blk .make_block_same_class (array , placement = slice (0 , len (array )))
1678+ bp = BlockPlacement (slice (0 , len (array )))
1679+ block = blk .make_block_same_class (array , placement = bp )
16731680 new_index = self .index ._getitem_slice (slobj )
16741681 return type (self )(block , new_index )
16751682
@@ -1733,7 +1740,7 @@ def set_values(self, values: ArrayLike):
17331740 valid for the current Block/SingleBlockManager (length, dtype, etc).
17341741 """
17351742 self .blocks [0 ].values = values
1736- self .blocks [0 ]._mgr_locs = libinternals . BlockPlacement (slice (len (values )))
1743+ self .blocks [0 ]._mgr_locs = BlockPlacement (slice (len (values )))
17371744
17381745
17391746# --------------------------------------------------------------------
@@ -1985,7 +1992,8 @@ def _merge_blocks(
19851992 new_values = new_values [argsort ]
19861993 new_mgr_locs = new_mgr_locs [argsort ]
19871994
1988- return [new_block (new_values , placement = new_mgr_locs , ndim = 2 )]
1995+ bp = BlockPlacement (new_mgr_locs )
1996+ return [new_block (new_values , placement = bp , ndim = 2 )]
19891997
19901998 # can't consolidate --> no merge
19911999 return blocks
0 commit comments