@@ -1604,10 +1604,11 @@ class TableIterator:
1604
1604
"""
1605
1605
1606
1606
chunksize : Optional [int ]
1607
+ store : HDFStore
1607
1608
1608
1609
def __init__ (
1609
1610
self ,
1610
- store ,
1611
+ store : HDFStore ,
1611
1612
s ,
1612
1613
func ,
1613
1614
where ,
@@ -1616,7 +1617,7 @@ def __init__(
1616
1617
stop = None ,
1617
1618
iterator : bool = False ,
1618
1619
chunksize = None ,
1619
- auto_close = False ,
1620
+ auto_close : bool = False ,
1620
1621
):
1621
1622
self .store = store
1622
1623
self .s = s
@@ -1772,9 +1773,6 @@ def set_pos(self, pos: int):
1772
1773
self .typ ._v_pos = pos
1773
1774
return self
1774
1775
1775
- def set_table (self , table ):
1776
- self .table = table
1777
-
1778
1776
def __repr__ (self ) -> str :
1779
1777
temp = tuple (
1780
1778
map (pprint_thing , (self .name , self .cname , self .axis , self .pos , self .kind ))
@@ -1800,8 +1798,7 @@ def __ne__(self, other) -> bool:
1800
1798
def is_indexed (self ) -> bool :
1801
1799
""" return whether I am an indexed column """
1802
1800
if not hasattr (self .table , "cols" ):
1803
- # e.g. if self.set_table hasn't been called yet, self.table
1804
- # will be None.
1801
+ # e.g. if infer hasn't been called yet, self.table will be None.
1805
1802
return False
1806
1803
# GH#29692 mypy doesn't recognize self.table as having a "cols" attribute
1807
1804
# 'error: "None" has no attribute "cols"'
@@ -1815,7 +1812,7 @@ def infer(self, handler):
1815
1812
"""infer this column from the table: create and return a new object"""
1816
1813
table = handler .table
1817
1814
new_self = self .copy ()
1818
- new_self .set_table ( table )
1815
+ new_self .table = table
1819
1816
new_self .get_attr ()
1820
1817
new_self .read_metadata (handler )
1821
1818
return new_self
@@ -1896,7 +1893,7 @@ def validate_names(self):
1896
1893
pass
1897
1894
1898
1895
def validate_and_set (self , handler : "AppendableTable" , append : bool ):
1899
- self .set_table ( handler .table )
1896
+ self .table = handler .table
1900
1897
self .validate_col ()
1901
1898
self .validate_attr (append )
1902
1899
self .validate_metadata (handler )
@@ -2941,13 +2938,8 @@ def read_index_node(
2941
2938
data = node [start :stop ]
2942
2939
# If the index was an empty array write_array_empty() will
2943
2940
# have written a sentinel. Here we relace it with the original.
2944
- if "shape" in node ._v_attrs and self ._is_empty_array (
2945
- getattr (node ._v_attrs , "shape" )
2946
- ):
2947
- data = np .empty (
2948
- getattr (node ._v_attrs , "shape" ),
2949
- dtype = getattr (node ._v_attrs , "value_type" ),
2950
- )
2941
+ if "shape" in node ._v_attrs and self ._is_empty_array (node ._v_attrs .shape ):
2942
+ data = np .empty (node ._v_attrs .shape , dtype = node ._v_attrs .value_type ,)
2951
2943
kind = _ensure_decoded (node ._v_attrs .kind )
2952
2944
name = None
2953
2945
@@ -3126,7 +3118,7 @@ class SeriesFixed(GenericFixed):
3126
3118
@property
3127
3119
def shape (self ):
3128
3120
try :
3129
- return (len (getattr ( self .group , " values" ) ),)
3121
+ return (len (self .group . values ),)
3130
3122
except (TypeError , AttributeError ):
3131
3123
return None
3132
3124
@@ -3161,7 +3153,7 @@ def shape(self):
3161
3153
items += shape [0 ]
3162
3154
3163
3155
# data shape
3164
- node = getattr ( self .group , " block0_values" )
3156
+ node = self .group . block0_values
3165
3157
shape = getattr (node , "shape" , None )
3166
3158
if shape is not None :
3167
3159
shape = list (shape [0 : (ndim - 1 )])
@@ -3481,10 +3473,6 @@ def read_metadata(self, key):
3481
3473
return self .parent .select (self ._get_metadata_path (key ))
3482
3474
return None
3483
3475
3484
- def set_info (self ):
3485
- """ update our table index info """
3486
- self .attrs .info = self .info
3487
-
3488
3476
def set_attrs (self ):
3489
3477
""" set our table type & indexables """
3490
3478
self .attrs .table_type = str (self .table_type )
@@ -3497,7 +3485,7 @@ def set_attrs(self):
3497
3485
self .attrs .errors = self .errors
3498
3486
self .attrs .levels = self .levels
3499
3487
self .attrs .metadata = self .metadata
3500
- self .set_info ()
3488
+ self .attrs . info = self . info
3501
3489
3502
3490
def get_attrs (self ):
3503
3491
""" retrieve our attributes """
@@ -4230,7 +4218,7 @@ def write(
4230
4218
# table = self.table
4231
4219
4232
4220
# update my info
4233
- self .set_info ()
4221
+ self .attrs . info = self . info
4234
4222
4235
4223
# validate the axes and set the kinds
4236
4224
for a in self .axes :
@@ -4964,27 +4952,26 @@ def _unconvert_string_array(data, nan_rep=None, encoding=None, errors="strict"):
4964
4952
4965
4953
4966
4954
def _maybe_convert (values : np .ndarray , val_kind , encoding , errors ):
4955
+ val_kind = _ensure_decoded (val_kind )
4967
4956
if _need_convert (val_kind ):
4968
4957
conv = _get_converter (val_kind , encoding , errors )
4969
4958
# conv = np.frompyfunc(conv, 1, 1)
4970
4959
values = conv (values )
4971
4960
return values
4972
4961
4973
4962
4974
- def _get_converter (kind , encoding , errors ):
4975
- kind = _ensure_decoded (kind )
4963
+ def _get_converter (kind : str , encoding , errors ):
4976
4964
if kind == "datetime64" :
4977
4965
return lambda x : np .asarray (x , dtype = "M8[ns]" )
4978
4966
elif kind == "datetime" :
4979
4967
return lambda x : to_datetime (x , cache = True ).to_pydatetime ()
4980
4968
elif kind == "string" :
4981
4969
return lambda x : _unconvert_string_array (x , encoding = encoding , errors = errors )
4982
4970
else : # pragma: no cover
4983
- raise ValueError ("invalid kind {kind}" . format ( kind = kind ) )
4971
+ raise ValueError (f "invalid kind { kind } " )
4984
4972
4985
4973
4986
4974
def _need_convert (kind ) -> bool :
4987
- kind = _ensure_decoded (kind )
4988
4975
if kind in ("datetime" , "datetime64" , "string" ):
4989
4976
return True
4990
4977
return False
0 commit comments