首页 > 解决方案 > 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

标签: pythonpandasperformance

解决方案


你可以使用pandas.DataFrame.to_pickle. 它允许保存/加载python对象(例如df)以在各种脚本.py中使用

见这里:https ://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_pickle.html

我没有使用非常大的 DataFrame 对其进行测试,但它可能比两次读取数据更快


推荐阅读