diff --git a/pandas/io/pytables.py b/pandas/io/pytables.py index 6c3766b5ac816..bb758f45a8326 100644 --- a/pandas/io/pytables.py +++ b/pandas/io/pytables.py @@ -2207,6 +2207,8 @@ def __init__( table=None, meta=None, metadata=None, + dtype=None, + data=None, ): super().__init__( name=name, @@ -2221,8 +2223,8 @@ def __init__( meta=meta, metadata=metadata, ) - self.dtype = None - self.data = None + self.dtype = dtype + self.data = data @property def dtype_attr(self) -> str: @@ -3858,6 +3860,8 @@ def get_blk_items(mgr, blocks): meta = "category" metadata = np.array(data_converted.categories, copy=False).ravel() + data, dtype_name = _get_data_and_dtype_name(data_converted) + col = klass( name=adj_name, cname=new_name, @@ -3869,8 +3873,9 @@ def get_blk_items(mgr, blocks): ordered=ordered, meta=meta, metadata=metadata, + dtype=dtype_name, + data=data, ) - col.set_data(data_converted) col.update_info(self.info) vaxes.append(col)