Show all pandas dataframes in an IPython Notebook

2019-03-15 21:24发布

问题:

How could I identify all the Pandas DataFrames created in my current notebook session?

Something like in SAS seeing all the members in the Work library would be ideal.

Thanks.

回答1:

Solution

%who DataFrame

Explanation

All objects

... seeing all the members in the Work library would be ideal.

In [1]:

a = 10
b = 'abs'
c = [1, 2, 3]

%who shows all used names:

In [2]:
%who
a    b   c   

Conveniently as a list:

In [3]:
%who_ls

Out[3]:
['a', 'b', 'c']

Or as table with data types:

In [4]:
%whos

Variable   Type    Data/Info
----------------------------
a          int     10
b          str     abs
c          list    n=3

Filter for DataFrames

In [5]:
import pandas as pd
df1 = pd.DataFrame({'a': [100, 200, 300]})
df2 = pd.DataFrame({'b': [100, 200, 300]})

In [6]:
%whos DataFrame

Variable   Type         Data/Info
---------------------------------
df1        DataFrame         a\n0  100\n1  200\n2  300
df2        DataFrame         b\n0  100\n1  200\n2  300

In [7]:

%who DataFrame
df1  df2

In [8]:
%who_ls DataFrame

Out[8]:
['df1', 'df2']


回答2:

If you mean memory try something like:

for i in dir():
    if type(globals()[i]) == pandas.DataFrame:
        print(i)

or some such.