镶木地板存放时丢失的熊猫D型

时间:2019-03-22 15:39:21

标签: python pandas parquet

我要写一个数据帧的镶木地板文件,以备后用。数据框列上的类型信息对于我的最终用例很重要,但是似乎在写入和读取镶木地板文件时会丢失此信息:

def test_parquet_dtype(self):
    pq_file_loc = 'pq.pq'
    df = pd.DataFrame({'A': [1,2,3,4], 'B': [1,2,3,4]})
    df = df.astype({'A': 'category', 'B': 'object'})
    self.assertEqual(['category', 'object'], list(df.dtypes))

    df.to_parquet(pq_file_loc)
    new_df = pd.read_parquet(pq_file_loc)
    self.assertEqual(['category', 'object'], [str(dtype) for dtype in new_df.dtypes])

    # Expected: ['category', 'object']
    # Actual: ['int64', 'int64']

是否有更好的方法来保存和检索镶木地板文件以维护类型信息?

0 个答案:

没有答案