【发布时间】:2020-01-12 13:53:15
【问题描述】:
我正在测试羽毛格式作为存储 pandas DataFrame 文件的一种方式。在编写完全由 None 组成的列时,feather 的性能似乎非常差(info() 给出 0 个非空对象)。下面的代码很好地封装了这个问题:
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、pandas 0.23.4 和 pyarrow 0.13.0。
我怎样才能让这些类型的 DataFrames 保存而不需要永久保存?
【问题讨论】:
-
你的问题是什么?
-
谢谢,刚刚添加了这个问题,因为我想这并不明显“我怎样才能让这些类型的 DataFrames 保存而不需要永远保存?”
-
你能更新到更新版本的 pandas 和 pyarrow 吗?您使用的版本不是最新的,现在问题可能已经解决了。
-
这个问题与 pandas 本身无关,我使用的是最新的 conda 批准版本的 pyarrow。
-
在最新的pyarrow大师上也可以看到。我打开了issues.apache.org/jira/browse/ARROW-6529 来跟踪它,因为我同意差异似乎很奇怪。
标签: python pandas pyarrow feather