Pandas获取加载到内存中的所有数据帧的列表

2024-05-13 09:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pandas将几个csv文件读入内存进行处理,并在某个时刻列出我已加载到内存中的所有数据帧。有什么简单的方法吗?(我正在考虑类似于%ls的内容,但仅针对内存中可用的数据帧)


Tags: 文件csv数据方法内存内容pandasls
3条回答

我个人认为this方法更好(如果在ipython中)。

import pandas as pd
%whos DataFrame

基于以前的答案。。。 这将返回一个列表

import pandas as pd 
%who_ls DataFrame 

但是,如果你试着运行一个脚本,它就不工作了

因此

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

因为有些数据帧只有一个副本供内部使用,并且这些副本以'\u'开头

您可以列出具有以下内容的所有数据帧:

import pandas as pd

# create dummy dataframes
df1 = pd.DataFrame({'Col1' : list(range(100))})
df2 = pd.DataFrame({'Col1' : list(range(100))})

# check whether all variables in scope are pandas dataframe. 
# Dir() will return a list of string representations of the variables. 
# Simply evaluate and test whether they are pandas dataframes
alldfs = [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]

print(alldfs) # df1, df2

相关问题 更多 >