динамически удаляйте фрейм данных

#python

Вопрос:

Предположим,что я создал в df1, df2,df3 фрейм данных, созданный в текущей рабочей области.

Если я хочу удалить фрейм данных по отдельности.

 del df1
del df2
del df3
 

если я хочу выполнить сквозной цикл и динамически удалить фрейм данных. Я использовал приведенный ниже код, но он не удалял удаление фрейма данных как просто строку, в которой объекты перечислены в текущих сеансах.

 import pandas as pd
sheets=[]    
for var in dir():
    if isinstance(locals()[var], pd.core.frame.DataFrame)  and var[0]!='_':
        sheets.append(var)
        del var  #this is not deleting the dataframe but deleting just a name
 

есть какие-нибудь мысли по этому поводу?

Ответ №1:

а как насчет простого цикла?

 for dataframe in [df1, df2, df3]:
    del dataframe
 

Или, если вы действительно хотите получить имя переменной locals() и удалить его оттуда, то:

 for var in dir():
    if isinstance(locals()[var], pd.core.frame.DataFrame) and var[0]!='_':
        sheets.append(var)
        del locals()[var]