@@ -3025,6 +3025,8 @@ def write_array(self, key: str, obj, items: Optional[Index] = None):
3025
3025
vlarr = self ._handle .create_vlarray (self .group , key , _tables ().ObjectAtom ())
3026
3026
vlarr .append (value )
3027
3027
3028
+ elif empty_array :
3029
+ self .write_array_empty (key , value )
3028
3030
elif is_datetime64_dtype (value .dtype ):
3029
3031
self ._handle .create_array (self .group , key , value .view ("i8" ))
3030
3032
getattr (self .group , key )._v_attrs .value_type = "datetime64"
@@ -3039,8 +3041,6 @@ def write_array(self, key: str, obj, items: Optional[Index] = None):
3039
3041
elif is_timedelta64_dtype (value .dtype ):
3040
3042
self ._handle .create_array (self .group , key , value .view ("i8" ))
3041
3043
getattr (self .group , key )._v_attrs .value_type = "timedelta64"
3042
- elif empty_array :
3043
- self .write_array_empty (key , value )
3044
3044
else :
3045
3045
self ._handle .create_array (self .group , key , value )
3046
3046
@@ -4734,8 +4734,13 @@ def _set_tz(
4734
4734
assert values .tz is None or values .tz == tz
4735
4735
4736
4736
if tz is not None :
4737
- name = getattr (values , "name" , None )
4738
- values = values .ravel ()
4737
+ if isinstance (values , DatetimeIndex ):
4738
+ name = values .name
4739
+ values = values .asi8
4740
+ else :
4741
+ name = None
4742
+ values = values .ravel ()
4743
+
4739
4744
tz = _ensure_decoded (tz )
4740
4745
values = DatetimeIndex (values , name = name )
4741
4746
values = values .tz_localize ("UTC" ).tz_convert (tz )
0 commit comments