python - Pandas 的羽毛格式在写一列 None 时很慢
问题描述
我正在测试羽毛格式作为存储熊猫 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、熊猫 0.23.4 和 pyarrow 0.13.0。
我怎样才能让这些类型的 DataFrames 保存而不需要永远?
解决方案
您可以尝试添加特定的 dtype。话虽如此,就羽毛性能有多差而言,这些数字有点令人惊讶。
推荐阅读
- python - 如何根据索引号而不是元素值从数组中提取特定索引?
- c - 允许以_开头的C变量名,和(0x8)是什么意思?
- reactjs - 单击项目时打印当前选定的项目
- css - CSS
- 子菜单不会在点击时关闭,需要与关闭链接交换
- go - 使用 go 模块将 retool 替换为 tools.go 用于多开发人员和 CI 环境
- node.js - 如何在 nock 回调中获取查询参数
- python - (石头、纸和剪刀)如何用Python让玩家重玩功能
- arduino - 无法实例化我自己的类:没有用于调用“DHT::DHT()”的匹配函数
- sql - 如何选择具有最高值的列
- jenkins - 是否可以在不同的 google kubernetes 引擎集群中运行 e2e 测试?