python - Python:如何在不读取数据帧两次的情况下将数据帧从 .py 文件调用到另一个 py 文件?
问题描述
我有以下脚本(abc.py 和 xyz.py)。从 SAS 提取数据到 python 的处理时间为 5 分钟。如果我想在 xyz.py 脚本中使用相同的数据 (df1),它会再次读取并花费 5 分钟。所以总时间是10分钟。有什么办法,如果我们可以在 abc.py 中读取一次数据帧并使用 xyz.py 中的数据帧来避免处理时间。
abc.py
df1 = sas.sd2df('df_name', 'work') # it contains 1 50k rows
xyz.py
from abc import df1
解决方案
你可以使用pandas.DataFrame.to_pickle
. 它允许保存/加载python对象(例如df)以在各种脚本.py中使用
见这里:https ://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_pickle.html
我没有使用非常大的 DataFrame 对其进行测试,但它可能比两次读取数据更快
推荐阅读
- java - 从库中扩展 GlobalMethodSecurityConfiguration 配置
- javascript - Card.Img 未完全适用于 iOS 上带有 svg 的 react-bootstrap 中的 Card.ImgOverlay
- sql - SQL 连接两个具有相同列的表,具有重叠的 `id` 列,但基于 if table1.col1 >= table2.col1 进行合并
- react-native - 反应原生将平面列表从一个屏幕移动到另一个屏幕
- editorconfig - 如何强制将所有标签属性放在一行上?
- javascript - 将 this.id 传递给另一个函数会返回 null 错误
- flutter - CupertinoPageRouter 从左侧滑出
- javascript - 如何使用 withRouter 在类组件中导航或路由到渲染之外的 js 文件?
- c++ - 扩展模板参数包以声明类成员
- javascript - VC Code Intellisense 忽略 WebPack 中的 lodash 依赖项