首页 > 解决方案 > 删除最终脚本中的每个熊猫数据框

问题描述

我在不同的脚本中使用熊猫数据框。例如:

script1.py

import pandas as pd
df1 = pd.read_csv("textfile1.csv")
"do stuff with df1 including copying some columns to use"

script2.py

import pandas 
df2 = pd.read_csv("textfile2.csv")
"do stuff with df2 including using .loc to grab some specific rows.

然后在不同的 Flask 视图和 python 脚本中使用这两个数据帧(实际上我使用了大约 50 个数据帧)。但是,当我转到 Flask 应用程序的主页并按照步骤根据不同的输入文件创建新结果时,结果会根据它读取的数据帧不断给我旧的(或第一个)结果文件第一次。

我试过(主要是相互结合):

- logout_user()

- session.clear()

- CACHE_TYPE=null

- gc.collect()

- SECRET_KEY = str(uuid.uuid4())

- for var in dir():
    if isinstance(eval(var), pd.core.frame.DataFrame):
        del globals()[var]

我不能(阅读:不应该)在创建熊猫数据框后删除它们,因为它们都是相互关联的。但我想要的是在最后一页的末尾有一个按钮,如果我单击它,它将删除每个脚本或内存中存在的每个 pandas 数据帧。有这种可能吗?这有望解决我的问题。

标签: python-3.xpandasflask

解决方案


尝试上课

class Dataframe1():
    def __init__(self, data):
      self.data = data
d1 = Dataframe1(pd.read_csv("textfile1.csv"))

如果你想访问数据

d1.data

删除

del d1

推荐阅读