编写无列时熊猫的羽毛格式很慢

时间:2019-09-10 19:20:20

标签: python pandas pyarrow feather

我正在测试羽毛格式,以存储熊猫DataFrame文件。当编写完全由None组成的列时,feather的性能似乎非常差(info()给出0个非null对象)。以下代码很好地封装了问题:

    df1 = pd.DataFrame(data={'x': 1000*[None]})
    %timeit df1.to_feather('.../x.feather')
    5.35 s ± 303 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
    %timeit df1.to_pickle('.../x.pkl')
    734 ms ± 60.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
    %timeit df1.to_parquet('.../x.parquet')
    200 ms ± 5.84 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

我正在使用羽毛格式0.4.0,熊猫0.23.4和pyarrow 0.13.0。

如何在不花费大量时间的情况下保存这些数据框?

1 个答案:

答案 0 :(得分:0)

您可以尝试添加特定的dtype。话虽如此,但就羽毛性能而言,这一数字还是令人惊讶的。