@@ -3033,6 +3033,8 @@ def write_array(self, key: str, obj, items: Optional[Index] = None):
3033
3033
vlarr = self ._handle .create_vlarray (self .group , key , _tables ().ObjectAtom ())
3034
3034
vlarr .append (value )
3035
3035
3036
+ elif empty_array :
3037
+ self .write_array_empty (key , value )
3036
3038
elif is_datetime64_dtype (value .dtype ):
3037
3039
self ._handle .create_array (self .group , key , value .view ("i8" ))
3038
3040
getattr (self .group , key )._v_attrs .value_type = "datetime64"
@@ -3047,8 +3049,6 @@ def write_array(self, key: str, obj, items: Optional[Index] = None):
3047
3049
elif is_timedelta64_dtype (value .dtype ):
3048
3050
self ._handle .create_array (self .group , key , value .view ("i8" ))
3049
3051
getattr (self .group , key )._v_attrs .value_type = "timedelta64"
3050
- elif empty_array :
3051
- self .write_array_empty (key , value )
3052
3052
else :
3053
3053
self ._handle .create_array (self .group , key , value )
3054
3054
@@ -4749,8 +4749,13 @@ def _set_tz(
4749
4749
assert values .tz is None or values .tz == tz
4750
4750
4751
4751
if tz is not None :
4752
- name = getattr (values , "name" , None )
4753
- values = values .ravel ()
4752
+ if isinstance (values , DatetimeIndex ):
4753
+ name = values .name
4754
+ values = values .asi8
4755
+ else :
4756
+ name = None
4757
+ values = values .ravel ()
4758
+
4754
4759
tz = _ensure_decoded (tz )
4755
4760
values = DatetimeIndex (values , name = name )
4756
4761
values = values .tz_localize ("UTC" ).tz_convert (tz )
0 commit comments