@@ -2097,7 +2097,7 @@ def update_info(self, info):
2097
2097
for key in self ._info_fields :
2098
2098
2099
2099
value = getattr (self , key , None )
2100
- idx = _get_info ( info , self .name )
2100
+ idx = info . setdefault ( self .name , {} )
2101
2101
2102
2102
existing_value = idx .get (key )
2103
2103
if key in idx and value is not None and existing_value != value :
@@ -3725,7 +3725,6 @@ def create_axes(
3725
3725
3726
3726
# create according to the new data
3727
3727
new_non_index_axes : List = []
3728
- new_data_columns : List [Optional [str ]] = []
3729
3728
3730
3729
# nan_representation
3731
3730
if nan_rep is None :
@@ -3768,8 +3767,6 @@ def create_axes(
3768
3767
new_index .update_info (self .info )
3769
3768
new_index .maybe_set_size (min_itemsize ) # check for column conflicts
3770
3769
3771
- self .non_index_axes = new_non_index_axes
3772
-
3773
3770
new_index_axes = [new_index ]
3774
3771
j = len (new_index_axes ) # i.e. 1
3775
3772
assert j == 1
@@ -3788,22 +3785,21 @@ def get_blk_items(mgr, blocks):
3788
3785
block_obj = self .get_object (obj , transposed )._consolidate ()
3789
3786
blocks = block_obj ._data .blocks
3790
3787
blk_items = get_blk_items (block_obj ._data , blocks )
3791
- if len (new_non_index_axes ):
3788
+
3789
+ data_columns = self .validate_data_columns (
3790
+ data_columns , min_itemsize , new_non_index_axes
3791
+ )
3792
+ if len (data_columns ):
3792
3793
axis , axis_labels = new_non_index_axes [0 ]
3793
- data_columns = self .validate_data_columns (
3794
- data_columns , min_itemsize , new_non_index_axes
3795
- )
3796
- if len (data_columns ):
3797
- mgr = block_obj .reindex (
3798
- Index (axis_labels ).difference (Index (data_columns )), axis = axis
3799
- )._data
3800
-
3801
- blocks = list (mgr .blocks )
3802
- blk_items = get_blk_items (mgr , blocks )
3803
- for c in data_columns :
3804
- mgr = block_obj .reindex ([c ], axis = axis )._data
3805
- blocks .extend (mgr .blocks )
3806
- blk_items .extend (get_blk_items (mgr , mgr .blocks ))
3794
+ new_labels = Index (axis_labels ).difference (Index (data_columns ))
3795
+ mgr = block_obj .reindex (new_labels , axis = axis )._data
3796
+
3797
+ blocks = list (mgr .blocks )
3798
+ blk_items = get_blk_items (mgr , blocks )
3799
+ for c in data_columns :
3800
+ mgr = block_obj .reindex ([c ], axis = axis )._data
3801
+ blocks .extend (mgr .blocks )
3802
+ blk_items .extend (get_blk_items (mgr , mgr .blocks ))
3807
3803
3808
3804
# reorder the blocks in the same order as the existing_table if we can
3809
3805
if existing_table is not None :
@@ -3843,7 +3839,6 @@ def get_blk_items(mgr, blocks):
3843
3839
if not (name is None or isinstance (name , str )):
3844
3840
# TODO: should the message here be more specifically non-str?
3845
3841
raise ValueError ("cannot have non-object label DataIndexableCol" )
3846
- new_data_columns .append (name )
3847
3842
3848
3843
# make sure that we match up the existing columns
3849
3844
# if we have an existing table
@@ -3890,7 +3885,7 @@ def get_blk_items(mgr, blocks):
3890
3885
j += 1
3891
3886
3892
3887
self .nan_rep = nan_rep
3893
- self .data_columns = new_data_columns
3888
+ self .data_columns = [ col . name for col in vaxes if col . is_data_indexable ]
3894
3889
self .values_axes = vaxes
3895
3890
self .index_axes = new_index_axes
3896
3891
self .non_index_axes = new_non_index_axes
@@ -4582,15 +4577,6 @@ def _reindex_axis(obj, axis: int, labels: Index, other=None):
4582
4577
return obj
4583
4578
4584
4579
4585
- def _get_info (info , name ):
4586
- """ get/create the info for this name """
4587
- try :
4588
- idx = info [name ]
4589
- except KeyError :
4590
- idx = info [name ] = dict ()
4591
- return idx
4592
-
4593
-
4594
4580
# tz to/from coercion
4595
4581
4596
4582
0 commit comments